Problem
Eine Management-Anforderung:
Bitte erstellen sie mal eben eine Liste alle Gruppen aus unserem ActiveDirectory mit allen Mitgliedern darin. Oh, am besten sowohl der DisplayName und auch der ganze LDAP-Pfad – und wenn es verschachtelte Gruppen, gibt nur den Gruppennamen.
Lösung
Der finde Admin weiss: So eine Liste ist, einmal erstellt, recht statisch und daher über die Zeit mehr und mehr realitätsfern, aber das zu erstellen ist natürlich ein Problem. Die Ausgabe ist natürlich ein schneller Hack, der erfahrene Admin baut selbstverständlich besser erst ein Objekt zusammen und wendet auf dessen Eigentschaften eine ausgabemethode an.
$Groups = Get-ADGroup -Properties * -Filter * Foreach($G In $Groups) { $G.Name | Out-File -Append .\gruppenliste.txt "---------------------" | Out-File -Append .\gruppenliste.txt $G.Members | Out-File -Append .\gruppenliste.txt }
Die Gruppenliste liße sich selbstverständlich auch Filtern, zum Beispiel „Nur Gruppen die ‚rothaarig‘ im Namen haben“:
# $Groups = Get-ADGroup -Properties * -Filter {name -like "*rothaarig*"}