Ich bin neu in Powershell, aber ich habe Handbücher gelesen und ein bisschen geübt. Mein Ziel ist es, alle Benutzer in allen Sicherheitsgruppen unter dem angegebenen Pfad aufzulisten. Ich habe den Weg gefunden, es zu tun:
get-adgroup -Filter * -SearchBase "OU=Groups,DC=corp,DC=ourcompany,DC=Com" | %{Get-ADGroupMember $_.name} | ft name
Das Problem ist aber, dass ich den Gruppennamen nicht sehe. Alles, was ich bekomme, sind ein paar Benutzer. Es wäre schön, wenn mir jemand sagen könnte, wie der Gruppenname angezeigt werden soll, bevor alle Mitglieder dieser Gruppe aufgelistet werden. Vielen Dank.
active-directory
powershell
groups
Alec T
quelle
quelle
% { "GroupName: $($_.Name)"; "==========" ; Get-ADGroupMember $_ } | ft name
Sie möglicherweise auch das, wonach Sie suchen . Ryans Antwort ist immer noch besser, aber das ist eine einzelne Zeile, wenn Sie es wollen.Antworten:
Gimme the codes!
Kräfte, aktiviere!Der Punkt ist, nehmen Sie sich Zeit und brechen Sie es in Schritten aus. Ich weiß, dass es Spaß macht, zu versuchen, alles und die Küchenspüle mit Powershell in einen Einzeiler zu passen, aber es ist keineswegs erforderlich.
Ein paar Anmerkungen:
Dies ist nicht erforderlich,
Get-ADGroupMember
wenn Sie die Members-Eigenschaft im erstenGet-ADGroup
Cmdlet erfassen. Das Gute daran ist, dass sich die Anzahl der Anrufe, die Sie bei AD tätigen müssen, halbiert, wodurch Ihr Skript schneller ausgeführt werden sollte, und der Domänencontroller entlastet wird.$ G.Mitglieder zeigen in Powershell 3 alle Mitglieder der Gruppe $ G ... an. In Powershell 2 müssen Sie möglicherweise noch einen weiteren Foreach in Foreach einfügen, um die Gruppenmitglieder aufzulisten. ( Yo dawg, ich habe gehört, Sie mögen Schleifen ... )
Ich benutze
Write-Host
hier, was eklig ist. Sie sollten nie wirklich verwendenWrite-Host
. Stattdessen sollten Sie Objekte erstellen und ausgeben, nicht Text, aber das war ein ganz anderes Thema, und ich war zu faul, das für diese Antwort zu tun.quelle
Hier ist eine viel bessere Lösung. Dadurch wird alles in eine dreispaltige CSV mit Gruppenname, Benutzername und Sam-Kontoname eingefügt. Es ist viel einfacher herauszufinden, in welcher Gruppe sich jemand befindet, wenn sich 400 Benutzer in einer Gruppe befinden, da Sie nicht scrollen müssen.
quelle
Ich musste
.name
nachher hinzufügen$group
, um diese Arbeit für mich zu machen.quelle
Wenn Sie jemals auf ein
Size Limit
Problem mit Gruppen mit mehr als 5000 Mitgliedern stoßen, können Sie die eine Zeile wie folgt ändern:quelle
Hier ist ein Skript, das alle Gruppen in einer Organisationseinheit mit Gruppennamen und Beschreibung in eine separate Datei für jede Gruppe exportiert. Wenn jemand das will ..
quelle