Mit einem normalen ldap search nach beispielsweise:
(&(objectCategory=user))
Findet man alle Benutzer in einem Active Directory.
Dies beinhaltet jedoch auch deaktivierte (gesperrte) Benutzer Accounts. Zwar wird man sich so trotzdem nicht am Active Directory anmelden können, häufig will man aber der übersichtlicher in externen Applikationen diese auch gleich von der Ansicht ausschliessen.
Wenn man nun die deaktivierten Benutzer ausschliessen möchte, reicht es das folgende userAccountControl
Attribut anzuhängen:
(&(objectCategory=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
Das =2
am Schluss ist die Option, welche im AD auf UF_ACCOUNT_DISABLE
verweist und man mit dem Ausrufezeichen (!(...))
negiert.
Eine weiterer Hilfreiche Option ist die Nummer 512 (UF_NORMAL_ACCOUNT
), dieser schliesst nur „normale“ Benutzer ein, denn im AD sind z.B. auch Maschinenaccounts/Computer „Benutzer“:
(&
(objectClass=user)
(userAccountControl:1.2.840.113556.1.4.803:=512)
(!
(userAccountControl:1.2.840.113556.1.4.803:=2)
)
)
Bzw. dann in einer Zeile:
(&(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=512)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
Die Seite SelfADSI liefert weitere nützliche Informationen zum userAccountControl Attribut und auch im generellen zum LDAP Filtern.