Wie kann ich alle Mitglieder der AD-Gruppe mit aktivierten und deaktivierten Benutzern auflisten?

3274
Marlon

Ich versuche, eine Liste aller Mitglieder einer AD-Gruppe abzurufen, die aktive \ inaktive Benutzer anzeigt. Der Zweck besteht darin, alle Mitglieder in den Gruppen zu finden und diejenigen mit Administratorrechten aufzulisten.

Ich habe folgende Befehle ausgeführt:

$GROUPNAME = "Domain Admins"  Get-ADGroupMember -identity $GROUPNAME -Recursive | Select name, SamAccountName, objectclass | Sort-Object Name 

Ich habe versucht, mit Get-ADUser-Filter zu kombinieren, aber ich brauche das erste Cmdlet, das für mich Benutzer ausgegeben wird, sodass ich mit Get-ADuser filtern kann.

Tks im Voraus

1
Wie wäre es, wenn Sie die Ausgabe von Get-ADGroupMember in eine Variable $ USERS ziehen und dann eine ForEach-Schleife ausführen, die sie durch Get-ADUser zieht, um nach Enabled zu suchen? Ich spiele jetzt damit, ein Skript zu ändern, das ähnlich ist, aber noch nicht geklappt hat. music2myear vor 6 Jahren 1
@ music2myear Scheint das funktioniert! Folgendes getan: `$ GROUPNAME = 'Domain Admins'` `Get-ADGroupMember -identity $ GROUPNAME -Recursive | Wählen Sie Name, SamAccountName, Objektklasse | aus Sort-Object Name` `foreach ($ USERS in $ USERS) | Wählen Sie Name, Aktiviert, SamAccountName, UserPrincipalName} ` Marlon vor 6 Jahren 1
Süß, schreib das als Antwort auf. Ich habe Sie vielleicht in die richtige Richtung gezeigt, aber Sie haben es gelöst. music2myear vor 6 Jahren 0
Ich würde das Select- und Sort-Objekt in der ersten Zeile jedoch persönlich weglassen. Get-ADGroupMember gibt Objekte aus, mit denen Get-ADUser problemlos umgehen kann, und der Select-Befehl in der letzten Zeile sollte ausreichen. music2myear vor 6 Jahren 1
Ich habe hier einige Tests durchgeführt, scheint jedoch folgende Aussage zu treffen: `Get-ADGroupMember -identity $ GROUPNAME -Recursive` ruft nicht alle Mitglieder aus der Gruppe der Domänen-Admins oder einer anderen Gruppe des Cmdlets ab. Mit den Ergebnissen der letzten Cmdlet-Filterung werden nur deaktivierte Benutzer auf AD allgemein angezeigt. Marlon vor 6 Jahren 0
In dem von Ihnen geposteten Code sieht es nicht so aus, als würden Sie den Inhalt von Domain-Admins in eine Variable schreiben, und dann müssen Sie nur jedes Benutzerkonto in der Domäne mit Get-ADUser durchlaufen. music2myear vor 6 Jahren 0
Anscheinend zeigt der Befehl `Get-ADGroupMember -identity $ GROUPNAME` ohne rekursive Option die Mitglieder an. Es wird nur keine Gruppe angezeigt, die in die Mitglieder der Domänen-Admins eingefügt wurde. Marlon vor 6 Jahren 0
@ music2myear Ich habe diese Cmdlets getestet und scheint jetzt zu funktionieren! Leider kann ich nicht für meine eigene Antwort stimmen, wenn Sie dies tun könnten, wäre ich Ihnen dankbar. Marlon vor 6 Jahren 0

1 Antwort auf die Frage

1
Marlon

Auf diese Weise:

$groupname = "Domain Admins" $users = Get-ADGroupMember -Identity $groupname | ? {$_.objectclass -eq "user"} foreach ($activeusers in $users) { Get-ADUser -Identity $activeusers | ? {$_.enabled -eq $true} | select Name, SamAccountName, UserPrincipalName, Enabled } 

Wenn Sie deaktivieren möchten, ersetzen Sie einfach das letzte Cmdlet:

foreach ($activeusers in $users) { Get-ADUser -Identity $activeusers | ? {$_.enabled -eq $false} | select Name, SamAccountName, UserPrincipalName, Enabled } 
Wie füge ich den Export-CSV-Teil hier hinzu? ch.smrutiranjan parida vor 5 Jahren 0