Skip to content

AD-Accounts mit geänderter primärer Gruppe

by Simon Altenbokum on März 31st, 2015

Die Möglichkeit zur Änderung der primären Gruppenmitgliedschaft eines AD-Accounts hat vor allem historische Hintergründe. Im alltäglichen Betrieb abseits ins AD integrierter Apple-Maschinen/-Services oder Posix kompatibler Anwendungen ist es nicht notwendig diese Einstellung zu verändern.

Zu finden ist sie über die „Active Directory Users and Computers“-Konsole im MemberOf-Tab unter der Gruppenübersicht und den zugehörigen Buttons.

Ein großer Nachteil der Änderung der primären Gruppe liegt darin, dass man bspw. die Mitgliedschaft nicht offen einsehen kann und diese in den herkömmlichen Abfragen häufig nicht auftaucht, da diese über das AD-Attribut primaryGroupID (enthält die RID der betreffenden Gruppe) gehandhabt wird und nicht über den üblichen Weg in dem auch über die GUI einsehbaren Attribut „memberOf„.

Wenn man nun befürchtet oder direkt feststellt, dass diese Einstellung nicht überall gegeben ist, kann man über das folgende LDAP-Query gezielt danach suchen:

„(&(objectClass=user)(objectCategory=person)(!primaryGroupID=513))“

Alternativ per Powershell mittels:

Get-ADUser -Filter { primaryGroupID -ne „513 } -Properties primaryGroupID

Hat man erst einmal eine Liste der betroffenen User, ist natürlich spannend, um welche Gruppe es sich jeweils handelt um die weiteren Zusammenhänge zu erörtern. Dazu habe ich mir kurzerhand ein Script geschrieben, dass ich kurz vorstellen und publizieren möchte.

Gesucht wird mittels des oben beschriebenen Statements, anschließend wird die primaryGroupID der betroffenen Accounts in den jeweiligen Gruppennamen aufgelöst. Dazu ist entscheidend, dass das Attribut in dem diese Einstellung auf dem Gruppen-Objekt gespeichert wird primaryGroupToken heißt und nicht direkt danach gesucht werden kann. Diesen Umstand verdanken wir der Eigenschaft des Attributs als „computed“ (berechnet). Das Attribut wird bei jedem Abruf aus der ObjectSID errechnet und folglich nicht die ganze Zeit vorgehalten. Dies lässt sich bspw. dadurch umgehen, dass man erst alle Gruppen samt diesem Attribut einzeln lädt und anschließend nach der gewünschten ID filtert.

Skript: Get-UserswithdiffprimGroupID

Weiterführende Links:

Derzeit basiert das Script auf den seit 2008 R2 mitgelieferten AD-Modulen für die Powershell, welche auf jedem neueren DC ohnehin installiert sein sollten. Für eine Nutzung in einem 2003er/2008er Umfeld müssten die AD-WebServices (AD Management Gateway Service) installiert werden und ein Client mit den installierten AD-Modulen verwendet werden:

http://www.microsoft.com/de-de/download/details.aspx?id=2852

Clientseite:

http://blogs.msdn.com/b/rkramesh/archive/2012/01/17/how-to-add-active-directory-module-in-powershell-in-windows-7.aspx

From → Microsoft

Comments are closed.