Active Directory Schema and Indexing explained

Hallo zusammen,

Aufgrund der Recherche zu effizienteren AD Abfragen hat sich dann die Frage gestellt, welche Attribute denn im Index sind und über den Global Catalog abgefragt werden können.

Und so bin ich vorgegangen:

Ich habe mir das gewünschte Attribut aus dem Attribut Editor herausgesucht - in diesem Fall das Attribut "mail"

Nun suchen wir das Attribut mit LDP im Schema. Wie das LDP Tool verwendet wird, habe ich bereits in einemfrüheren Blog Artikel erklärt.

In der Base DN wird das Schema ausgewählt und folgendes Filter gesetzt:

Filter: lDAPDisplayName=mail
Attributes: ObjectClass

Im Suchresultat sieht man, dass die definition vom mail Attribut im Schema unter E-mail-Addresses definiert ist.

Nun schauen wir uns E-mail-Addresses mal mit ADSI Edit an.

Man sieht, dass es ein "singleValue" Feld ist und dass Attribut searchFlags steht auf 5

searchFlags
1 = Index over attribute only
2 = Index over container and attribute
4 = Add this attribute to the ambiguous name resolution (ANR) set (should be used in conjunction with 1)
8 = Preserve this attribute on logical deletion (that is, make this attribute available on tombstones)
16 = Include this attribute when copying a user object
32 = Create a Tuple index for the attribute to improve medial searches
64 = Reserved for future use; value should be 0.
128 = Available in Windows Server 2003 Service Pack 1 (SP1) only. Mark the attribute confidential (CONTROL_ACCESS is required to read it).

Nun kann man sich fragen, welche Attribute sind denn eigentlich in einem Index? Tja, fragen wir doch einfach mal das Schema

Filter: searchFlags=1
Attributes: dn;lDAPDisplayName;searchFlags

Im Suchresultat, werden nun alle Attribute aufgelistet, welche im searchFlags den Value 1 haben.

Weitere Informationen:

Grüsse
Andres Bohren