Printout Header
RSS Feed

Objekt-Attribute des Typs "Constructed"


Auf dieser Seite werden die so genannten Constructed Attributes im Active Directory Services Verzeichnis aufgezählt. Diese LDAP-Attribute sind in der eigentlichen Datenbank gar nicht vorhanden, sondern werden vom Verzeichnis-Server im Moment der LDAP-Anfrage für ein solches Attribut gebildet. Für derart konstruierte Attribute gelten wichtige Beschränkungen:


Folgende Constructed Attributes sind in einem Windows 2003 AD enthalten, dessen Schema durch eine Exchange 2003-Installation erweitert wurde:



allowedAttributes
allowedAttributesEffective
allowedChildClasses
allowedChildClassesEffective
aNR
attributeTypes
canonicalName
createTimeStamp
dITContentRules
entryTTL
extendedAttributeInfo
extendedClassInfo
fromEntry
modifyTimeStamp
ms-DS-Approx-Immed-Subordinates
ms-DS-Auxiliary-Classes
ms-DS-KeyVersionNumber
ms-DS-NC-Repl-Cursors
ms-DS-NC-Repl-Inbound-Neighbors
ms-DS-NC-Repl-Outbound-Neighbors
ms-DS-Principal-Name
ms-DS-Quota-Effective
ms-DS-Quota-Used
ms-DS-Repl-Attribute-Meta-Data
ms-DS-Repl-Value-Meta-Data
ms-DS-Resultant-PSO
ms-DS-Revealed-List
ms-DS-Revealed-List-BL
ms-DS-SiteName
ms-DS-Top-Quota-Usage
ms-DS-User-Account-Control-Computed
ms-DS-User-Password-Expiry-Time-Computed
objectClasses
parentGUID
possibleInferiors
possibleInferiors
sDRightsEffective
structuralObjectClass
subSchemaSubEntry
tokenGroups
tokenGroupsGlobalAndUniversal
tokenGroupsNoGCAcceptable

Andere Verzeichnisdienste wie z.B. Suns Directory Server oder Novells eDirectory kennen derartige Constructed Attributes nicht. In diesen Verzeichnisdiensten findet man jedoch (wie auch bei ADS) die Operational Attributes, die ebenfalls eine besonderen Umgang erfordern.


Ob ein Attribut konstruiert ist oder nicht, verraten die System-Flags in der Schema-Definition des Attributs. Es handelt sich dabei um ein Bit-Feld, das als systemFlags im Schema Eintrag des betreffenden Attributes gespeichert ist, bei Constructed Attributes ist hier das dritte Bit auf 1 gesetzt.

Man kann in ADS-Verzeichnissen durch folgendes Skript herausfinden, welches die Contructed Attributes sind.

Set ado = CreateObject("ADODB.Connection") 'ADO-Suche vorbereiten ado.Provider = "ADSDSOObject" ado.Properties("User ID") = "administrator" 'Credentials angeben - wenn sie diese zwei Zeilen weglassen, ... ado.Properties("Password") = "geheim" '... werden die aktuellen Anmeldedaten verwendet ado.Properties("Encrypt Password") = True ado.Open "ADS-Search" 'dies ist ein willkürlich gewählter Name serverName = "dc1.cerrotorre.de" 'Suchkontext für den Schema-Container ermitteln Set root = GetObject("LDAP://" & serverName & "/RootDSE") baseStr = "<LDAP://" & serverName & "/" & root.Get("SchemaNamingContext") & ">" 'drittes Bit muss gesetzt sein => 'nach Attibuten mit dem Flag 0x00000004 suchen filterStr = "(&(objectcategory=attributeSchema)(systemFlags:1.2.840.113556.1.4.804:=4))" 'Suche ausführen Set objectList = ado.Execute(baseStr & ";" & filterStr & ";cn;SubTree") 'Ergebnisse zeigen While Not objectList.EOF WScript.Echo objectList.Fields("cn") objectList.MoveNext WEnd