Wie kann man das Active Directory fragen, welche Benutzer Mitglied einer Gruppe sind ?
Wenn man wissen möchte, welche Benutzer Mitglied einer bestimmten Gruppe sind, kann man dies mit folgendem Befehl abfragen:
DSGET GROUP “Distinguished Name (DN)-DER-GRUPPE” -members -expand
Wenn man beispielsweise eine Gruppe mit dem Namen „Verkauf“ hat, die sich in der Organisationseinheit „Newsgroup“ befindet und die
Domäne „intra.dikmenoglu.de” heißt, würde der Befehl wie folgt lauten:
DSGET GROUP „CN=Verkauf,OU=Newsgroup,DC=intra,DC=dikmenoglu,DC=de” -members -expand
Wenn sich die User sowie die Gruppen im Standard-Container USERS befinden (im Snap-In „Active Directory-Benutzer und -Computer“), so würde der Befehl folgendermaßen lauten:
DSGET GROUP „CN=<Gruppenname>,CN=Users,DC=intra,DC=dikmenoglu,DC=de“ -members -expand
Der Schalter -members zeigt eine Liste der Gruppenmitglieder an. Der Schalter -expand bewirkt im Falle des „-members“-Parameters,
dass die rekursiv (umgekehrt) expandierte (also „auseinander gezogene” im Sinne von vollständig angezeigte) Liste der Mitglieder der Gruppe
angezeigt wird. Dieser Parameter übernimmt die unmittelbare Liste der Mitglieder der Gruppe und expandiert rekursiv jede Gruppe in dieser Liste,
um sowohl die Gruppenzugehörigkeit festzustellen als auch ein komplettes „closure set“ der Mitglieder zu erhalten.
Wenn dieser Befehl nun noch mit dem Befehl „> C:\dsget.txt“ erweitert wird, kann man sich das Ergebnis in eine Textdatei exportieren lassen.
Die Syntax lautet für das angegebene Beispiel:
DSGET GROUP „CN=Verkauf,OU=Newsgroup,DC=intra,DC=dikmenoglu,DC=de” -members –expand > C:\dsget.txt
Eine weitere Alternative wäre:
dsquery group -samid <Gruppe> | dsget group -members
Hinweis: Unter Windows Server 2008 R2 und Windows 7 liefert dsget nicht die korrekten Daten.
Das lässt sich jedoch durch einen Hotfix beheben:
Es gibt aber noch eine recht einfache Variante: Net Group <Gruppenname> /Domain
Es ist auch möglich, die Mitglieder einer Gruppe, mit LDIFDE zu exportieren.
Der Befehl könnte z.B. folgendermaßen aussehen:
Ldifde -m -f “C:\Ldifde.txt” -r “(sAMAccountname=<Gruppenname>)” -l name,member
Des Weiteren bekommt man die gewünschten Informationen auch über ein Skript:
List All the Members of a Group
Man kann sich auch über eine gespeicherte Abfrage die Mitglieder einer Gruppe anzeigen lassen.
Der Filter dazu könnte folgendermaßen aussehen:
(objectCategory=user)(memberOf=CN=Gruppe,CN=Users,DC=intra,DC=dikmenoglu,DC=de)
Oder in Verbindung mit den ds*-Tools, würde der Filter so aussehen:
(&(objectCategory=user)(memberOf=CN=Gruppe,CN=Users,DC=intra,DC=dikmenoglu,DC=de))
In welchen Gruppen ist ein bestimmter Benutzer?
Möchte man die direkten Gruppenmitgliedschaften bestimmter Benutzer ermitteln, so kann der folgende Befehl verwendet werden:
dsquery user -samid <Benutzername> | dsget user -memberof
oder:
dsget user “DN des Benutzerobjekts” -memberof
Sollen hingegen auch die verschachtelten Gruppenmitgliedschaften angezeigt werden, dann gilt es diesen Befehl auszuführen:
dsget user “DN des Benutzerobjekts” -memberof -expand
bzw.
dsquery user -samid <Benutzername> | dsget user -memberof -expand
Wie können die Mitglieder einer lokalen Gruppe auf einem Arbeitsgruppen-Server angezeigt werden?
Net Localgroup <Gruppe>
Die Mitglieder der Gruppe “Domänen-Benutzer” auflisten
Die Mitglieder der Gruppe Domänen-Benutzer lässt sich nicht auf die herkömmliche Weise Abfragen.
Die Gruppe Domänen-Benutzer (auf englisch: Domain Users), in der standardmäßig jeder Benutzer Mitglied ist
(sofern es nicht manuell geändert wurde), ist eine eher etwas speziellere Gruppe. Denn weder das member Attribut
im Gruppenobjekt, noch das memberof Attribut im Benutzerobjekt enthüllt die Grupenmitgliedschaft der primären Gruppe.
Bei jedem Domänen-Benutzer ist jedoch standardmäßig die Gruppe Domänen-Benutzer als ihre primäre Gruppe gekennzeichnet.
Überprüfen kann man das in den Eigenschaften der Benutzerkonten, im Reiter Mitglied von.
Damit die Mitglieder der Gruppe Domänen-Benutzer aufgelistet werden, muss das Attribut primaryGroupID mit dem Wert 513 abgefragt werden.
Der Gruppe “Domänen-Benutzer” ist nämlich im Attribut primaryGroupToken der Wert 513 zugewiesen.
Um die Mitglieder der Gruppe “Domänen-Benutzer” mit dsquery aufzulisten, muss der folgende Befehl ausgeführt werden:
Dsquery * -Filter “(&(objectCategory=Person)(primaryGroupID=513))” -Limit 0
Mit einer benutzerdefinierten gespeicherten Abfrage, lassen sich die Mitglieder mit folgendem Filter auflisten:
(&(objectCategory=person)(objectClass=user)(primaryGroupID=513))
Weitere Informationen:
How to use native ADSI components to find the primary group
Setting Primary Group Excludes the User from the Group Membership in Active Directory
Comments are closed, but trackbacks and pingbacks are open.