2017-06-01 5 views
3

In Active Directory-Benutzer und -Computer (ADUC) können Benutzer mit der rechten Maustaste auf eine Organisationseinheit klicken und "Suchen" auswählen, um nach allen Objekten in der Organisationseinheit zu suchen. Auf der ersten Registerkarte wird dem Benutzer ein Feld "Name" und "Beschreibung" angezeigt, das für einfache Abfragen verwendet werden kann. Das Feld Name scheint jedoch nach mehreren Feldern in AD zu suchen, z. B. canonicalName, sAMAccountName und distinguishedName. Ich konnte keine Dokumentation zu MSDN finden, die eine vollständige Liste der Felder enthält, die bei der Suche nach ADUC auf diese Weise verwendet werden.LDAP-Filterzeichenfolge für den Active Directory-Benutzer- und Computerdialog

Ich schreibe jetzt eine C# -Anwendung, wo eine der Anforderungen AD nach einem Objekt suchen soll. Da es Benutzereingaben parst und verschiedene Benutzer unterschiedliche Bezeichner bevorzugen, kann der Name des Objekts alles sein, was das Objekt über den Suchdialog von ADUC zurückgeben würde. Ich verwende einen System.DirectoryServices.DirectorySearcher, um dies zu erreichen, aber ich kann nicht scheinen, das genaue Suchverhalten von ADUC zu replizieren.

Genau welche Felder fragt das Feld "Name" des ADUC-Dialogfelds "Suchen" ab, und was ist die entsprechende LDAP-Filterzeichenfolge?

+1

ich knwo nicht, was der Filter ist, aber es ist das Werkzeug, das Sie überwachen zu lassen scheint, was angefordert wird ein Active Directory: https://technet.microsoft.com/en-us/sysinternals/bb897539. Sie könnten versuchen zu überwachen, was der Suchfilter dieser Anfragen ist – Esteban

+0

Danke! Das hat für mich funktioniert und war ein großartiges Werkzeug für die Zukunft. – ElThang

Antwort

0

Nach Esteban Vorschlag, lief ich die von Sysinternal vorgesehen AdInsight utility und zog diesen Filter string:

(& (& (| (& (objectclass = person) (objectSid = ) (samAccountType: 1.2.840.113556 .1.4.804: = 3)) (& (objectCategory = person) (! ObjectSid =)) (& (objektkategorie = gruppe) (groupType: 1.2.840.113556.1.4.804: = 14))) (anr = MyObjectID *)))

Wenn Sie jedoch nicht über Typen besorgt sind und bereit sind, ALLE obj zu sehen ects scheint dies noch zu arbeiten:

(& (anr = MyObjectID *))

Verwandte Themen