Bei jedem Projekt gibt es irgendwann einmal den Fall, dass alle Mitglieder einer bestimmten AD-Gruppe rekursiv ausgelesen werden müssen.
Index
Rekursives Auslesen von Gruppen und Mitgliedern
Rekursiv heißt in diesem Fall:
Wenn die AD-Gruppe noch weitere Gruppen als Mitglieder hat, so sollen nicht diese Gruppen, sondern deren Mitglieder ausgelesen werden. Das Endresultat soll dann in 99% der Fälle eine „flache“ Liste mit Benutzern sein.
Kommando Get-ADGroupMember für flache Benutzerliste
Diese 99% sind auch mit einem kleinen Ein-Zeiler erledigt:
1 |
Get-ADGroupMember "My Group" -Recursive |
Ein Problem besteht darin, daß das Kommando unter Umständen sehr langsam und daher nicht für oft laufende Skripte mit mehreren Gruppen geeignet ist.
LDAP-Query und OIDs
Get-ADGroupMember verwendet im Hintergrund eine sogenannte OID namens „LDAP_MATCHING_RULE_IN_CHAIN“. Dasselbe kann man auch mit folgendem Kommando erreichen:
1 2 |
Get-ADObject -LDAPFilter "(objectCategory=person)(objectClass=user)(memberOf:1.2.840.113556.1.4.1941:=CN=MyGroup,DC=MyDomain,DC=net))" |
Diese Art von LDAP-Query ist deutlich langsamer als eine normale Abfrage. Mehr Informationen dazu finden Sie hier.
Verschachtelte Gruppen (Nested Groups) einfach auflösen
Einen schnelleren Weg bietet die FirstWare DynamicGroup Software, mit der man Gruppenverschachtelungen binnen weniger Sekunden auflösen kann.
Der Vorteil hier: Ändern sich Mitglieder der verschachtelten Gruppen, werden diese Änderungen dynamisch mit aktualisiert. Es befinden sich nur Mitglieder in der „Endgruppe“, die sich auch in den „Mitgliedsgruppen“ befinden. Auch bei Änderungen der „Mitgliedsgruppen“.
Über die Einstellung „Flat Group“ können Sie alle Gruppen, die Mitglieder in einer AD-Gruppe sind, entflechten. DynamicGroup ermöglicht es Ihnen, die Verschachtelungen aufzulösen und nur die echten User in die Gruppe zu übernehmen:
Der Vorteil dieser Variante ist, daß sie schnell operieren können und immer auf dem aktuellsten Stand sind. Wie der Name schon andeutet, erzeugt die Software dynamische Gruppen, die jegliche Änderungen im AD sofort widerspiegeln.
Leave a Reply
<p>Danke für Ihre Anregungen, Fragen und Hinweise.<br/>Infos zum <a href="https://www.active-directory-faq.dekontakt/">Datenschutz</a></p>