5even 1 Geschrieben 30. Juli 2021 Melden Teilen 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 Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 30. Juli 2021 Melden Teilen 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 Zitieren Link zu diesem Kommentar
Sunny61 807 Geschrieben 30. Juli 2021 Melden Teilen 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 Zitieren Link zu diesem Kommentar
5even 1 Geschrieben 2. August 2021 Autor Melden Teilen Geschrieben 2. August 2021 ich danke euch vielmals! Auch für die Lektüre! Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.