Printout Header
RSS Feed

Attribute für AD User : objectClass


Das Active Directory Attribut objectClass stellt die Einordnung von User-Objekten in der Klassenhierarchie des Active Directory Schemas dar. Hier werden außer der tatsächlichen Klasse "user" auch alle übergeordneten Klassen aufgeführt, von denen sich die User-Klasse ableitet.


objectClass


LDAP Name objectClass
Datentyp String
Multivalue (Array) Ja
System Flags

0x12

Search Flags 0x08
Im Global Catalog? Ja
Attribute ID 2.5.4.0
AD DB Attributname Object-Class
ADSI datatype 3 - String(Object Identifier)
LDAP syntax 1.3.6.1.4.1.1466.115.121.1.38 - OID
Wird verwendet in ... > W2K
Schema Doku Microsoft - MSDN

Die Object-Klasse eines Users ist stets das folgende Array:


    - top
    - person
    - organizationalPerson
    - user


Die Klasse user repräsentiert dabei die eigentliche Objektklasse des Benutzers, sie muss auch bei der Erzeugung eines User-Objektes angegeben werden. Diese auch "structural class" genannte Hauptklasse steht bei Active Directory stets an letzter Stelle des Arrays (im Unterschied zu Exchange 5.5-Objektklassen). Wenn man also mit Hilfe des Attributs objectClass sichergehen will, dass ein Objekt auch tatsächlich ein User ist, dann muß man folgende Abfrage einbauen:


Set obj = GetObject("LDAP://.... classArray = obj.objectClass If (classArray(UBound(classArray)) = "user") Then . . . End If

Noch einfacher wäre die Verwendung der ADSI-Eigenschaft class, denn hier wird direkt ohne Array die eigentliche Objektklasse "organizationalPerson" zurückgegeben und der Check nach der Objektklasse würde dann so aussehen:


Set obj = GetObject("LDAP://.... If obj.class = "user" Then . . . End If

Anmerkung: Wenn man mit dem LDAP-Filter "(objectClass=user)" im Verzeichnis nach Benutzerobjekten suchen möchte, so erhält man neben Usern auch Computern, da diese ebenfalls der Objektklasse "user" zugeordnet sind. Der Filter für echte Benutzer muss hier so lauten: "((&objectClass=user)(objectCategory=Person))" . Nähere Erläuterungen dazu lesen Sie im SelfADSI Tutorial im Abschnitt "Objekte im Verzeichnis suchen".


Die anderen Klassen "organizationalPerson", "person" und "Top" sind die Oberklassen, von denen sich user hierarchisch ableitet. Nach der Erstellung eines Objektes kann das Attribut objectClass nicht mehr geändert werden.