LKBDE11322: Wie man alle Anwender oder Objekte mit Hilfe einer benutzerdefinierten ldap Abfrage im Active Directory findet


Symptom

Die Standardsuche im AD Snap-in reicht nicht für die Suche, eine benutzerdefinierte Suche wird benötigt

Cause

-

Solution

Mit der folgenden Suche können alle Anwender per benutzerdefinierten LDAP Abfrage im Active Directory gefunden werden (beachte das Ausrufezeichen als Negation für die Objektklasse "Computer"; cn wird hier auf "alles" gesetzt):
(&(!objectClass=computer)(objectClass=user)(cn=*))

In dieser Abfrage für alle Anwender werden die gesucht, die mit "a-" beginnen:
(&(objectCategory=person)(objectClass=user)(name=a-*))

Diese LDAP Abfrage ermittelt unter allen Computerkonten diejenigen, die srv im Namen enthalten:
(&(&(objectCategory=computer)(name=*srv*)))

Hier werden alle Anwender gesucht:
(&(objectCategory=person)(objectClass=user))

An dieser Stelle interessieren wir uns für alle deaktivierten Anwenderkonten im Active Directory:
(&(objectCategory=person)(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=2))

Mit der folgenden Abfrage werden alle Anwenderkonten mit "Kennwort läuft niemals ab" ausgegeben:
(&(objectCategory=person)(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=65536))

Diese Abfrage liefert uns alle Gruppennamen, die "rw" enthalten:
(&(objectCategory=group)(name=*rw*))

Ein bischen komplizierter ist die Suche nach allen Druckern, deren Name mit "hp" beginnt und in einem Standort zu finden sind, der mit "hh" beginnt und die Duplexdruck beherrschen:
(&(&(&(uncName=*)(objectCategory=printQueue)(printerName=hp*)(printDuplexSupported=TRUE))(objectCategory=printQueue)(location=hh*)))

Suche alle Organizational Units (OU), die mit "hh" anfangen:
(&(&(ou>="")(objectCategory=organizationalUnit)(ou=hh*)))

Disclaimer:

The information provided in this document is intended for your information only. Lubby makes no claims to the validity of this information. Use of this information is at own risk!

About the Author

Author: Wim Peeters - Keskon GmbH & Co. KG

Wim Peeters is electronics engineer with an additional master in IT and over 30 years of experience, including time spent in support, development, consulting, training and database administration. Wim has worked with SQL Server since version 6.5. He has developed in C/C++, Java and C# on Windows and Linux. He writes knowledge base articles to solve IT problems and publishes them on the Lubby Knowledge Platform.