Deaktivierte AD Benutzer im LDAP search filter ausschliessen

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.

Published by

Steven Varco

Steven ist ein Redhat RHCE-Zertifizierter Linux-Crack und ist seit über 20 Jahren sowohl beruflich wie auch privat auf Linux spezialisiert. In seinem Keller steht ein Server Rack mit diversen ESX und Linux Servern.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.