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"
ado.Properties("Password") = "geheim"
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