MItglieder einer Gruppe werden in Active Directory an zwei Stellen hinterlegt. Die maßgebliche Stelle, die aktiv geändert wird, wenn man Mitglieder einer Gruppe hinzufügt oder sie löscht, ist das "member"-Attribut des Gruppenobjekts. Es ist mehrwertig und nimmt den DN (distinguishedName, gewissermaßen der "LDAP-Objektpfad") des Mitglieds auf. Zusätzlich gibt es aber bei allen Mitgliedern auch das "memberOf"-Attribut, in dem hinterlegt ist, in welchen Gruppen das jeweilige Objekt Mitglied ist. Hierbei handelt es sich aber nur um einen sekundären Verweis – das Feld wird von Active Directory aktualisiert, wenn man die Mitglieder einer Gruppe ändert. Der Nutzen: Auf diese Weise kann man direkt beim Objekt nachschlagen, in welchen Gruppen es Mitglied ist, ohne dass man die Gruppen selbst abfragen muss.
Diesen Umstand kann man sich zunutze machen, wenn man zusätzliche Informationen über alle Mitglieder einer bestimmten Gruppe benötigt. Hilfreich ist hierbei ein Client, der benutzerdefinierte Suchabfragen an Active Directory stellen kann, z.B. mein Tool Carmen.
Im ersten Schritt besorgt man sich mit Carmen den DN der Gruppe, um die es geht. Dazu eignet sich eine Abfrage mit der Ambiguous Name Resolution, etwa so:
SELECT * FROM <so lassen> WHERE anr='Anzeigename-der-Gruppe'
Wichtig sind die einfachen Anführungsstriche (Apostrophe, oben auf der #-Taste) um das Suchkriterium. In dieser Abfrage reicht auch ein Teil (= der Anfang) des Namens, z.B. "Cons" für "Consulting". Den so erhaltenen DN (ohne das "LDAP://") nutzt man nun in einer zweiten Abfrage. Diese sucht nach allen Objekten, die die betreffende Gruppe in ihrem "memberOf"-Attribut stehen haben. Von diesen Objekten lassen sich dann beliebige Felder ausgeben.
SELECT adsPath,givenName,sn FROM 'LDAP://DC=faq-o-matic,DC=net' WHERE memberOf='CN=Superhelden,OU=Benutzer,DC=faq-o-matic,DC=net'
Für einfachere Abfragen von Gruppenmitgliedern siehe auch unseren Artikel:
Verwandte Beiträge:
- Wie kann ich die Mitglieder einer Gruppe in eine Datei schreiben?
Natürlich gibt es auch hierzu mehrere (kostenlose) Möglichkeiten – hier eine (unvollständige) Auswahl einiger Bordmittel. Achtung, mit Ausnahme des "dsget"-Beispiels... - Warum kann ich einen User nicht mit dem "memberOf"-Attribut einer Gruppe hinzufügen?
Das Feld "memberOf" ist ein sog. "Backlink"-Feld, das zur Abfragezeit berechnet wird. Sein Wert setzt sich "rückwärts" aus den Gruppenmitgliedschaften... - In welchen AD-Gruppen ist ein Benutzer Mitglied?
Unsere FAQ bietet ein paar Artikel, die die Mitglieder von Gruppen ausgeben. Spannend ist aber auch die Frage: In welchen... - AD: “Domänen-Benutzer” per LDAP abfragen
Wer per LDAP (oder auch per ADSI) die Mitglieder bestimmter Gruppen abfragen möchte, nutzt dafür das Feld “member” der jeweiligen... - Wie kann ich sicher prüfen, ob ein Benutzer Mitglied einer bestimmten Gruppe ist?
Neben der Möglichkeit, für den gerade angemeldeten Benutzer mit dem Tool "whoami.exe" (Resource Kit bzw. bei Windows 2003 im Lieferumfang)...
http://faq-o-matic.net/?p=838



Kategorie:
Translate EN

