5even 1 Geschrieben 30. Juli 2021 Melden Geschrieben 30. Juli 2021 Hallo zusammen, kann mir jemand erklären was folgender Befehl macht? Um genau zu sein die Markierte Stelle? Leider verstehe ich den Teil von '?' bis '..Name}' nicht $group = Get-ADGroup 'meineGruppe' Get-ADComputer -Filter * -Searchbase "OU=TEST,DC=hallo,DC=local" -Properties MemberOf | ?{$_.memberOf -notcontains $group.DistinguishedName} | Add-ADPrincipalGroupMembership $group.DistinguishedName
BOfH_666 586 Geschrieben 30. Juli 2021 Melden Geschrieben 30. Juli 2021 Das Fragezeichen hinter der Pipe ist ein Alias für das cmdlet Where-Object. Es wird also geprüft ob der "DistinguishedName" der AD-Gruppe "meineGruppe" im Attribut "memberOf" der vom cmdlet Get-ADComuter gelieferten Objekte NICHT enthalten ist. Trifft diese Bedingung zu wird das dadurch gefilterte Computer-Konto mittels Add-ADPrincipalGroupMembership der AD-Gruppe "meineGruppe" hinzugefügt. Aliasse sind eine Möglichkeit in PowerShell "Tipp-Arbeit" zu sparen. Sie sollten aber ausschließlich in der Konsole verwendet werden. In Skripten oder in Foren gelten sie als sehr schlechter Stil und unhöflich, weil sie das Lesen und Verstehen des Codes unnötig erschweren. Hier noch ein bissl generelle Lektüre dazu : The PowerShell Best Practices and Style Guide
Sunny61 833 Geschrieben 30. Juli 2021 Melden Geschrieben 30. Juli 2021 Wenn man Visual Studio Code für PS-Scripte benutzt, zeigt VSC eine Hilfe zum ?-Zeichen an. Dabei kann man das ?-Zeichen gleich in die richtige Syntax umwandeln lassen. 1
5even 1 Geschrieben 2. August 2021 Autor Melden Geschrieben 2. August 2021 ich danke euch vielmals! Auch für die Lektüre!
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden