Für die Standardcontainer in einem
Active Directory gibt es eine besondere Unterstützung. Für diese so genannten
Well Known Objects besteht eine vordefinierte GUID (Well-Known-GUID), die in jedem
Active Directory gleich ist.
L
DAP://<
WKGUID=a9d1ca15768811d1aded00c04fd8d5cd,dc=it-visions,
dc=de>
Bitte beachten Sie, dass hierbei die Ansprache über
WKGUID= erfolgt und die dahinter angegebene GUID nicht die wirkliche GUID des
Objekts ist. Auch die Standard-
Container erhalten bei der Installation eines
Active Directory eine individuelle GUID; die
WKGUID ist ein allgemein gültiger Alias.
Ermittlung der Well-Kwnon-GUIDs (WKGUIDs)Das nächste Listing zeigt die Ermittlung der WKGUIDs per Programmcode. Diese Automatisierungslösung erscheint auf den ersten Blick überflüssig. Auf den zweiten Blick ist diese knifflige Aufgabe jedoch ein gutes Anschauungsobjekt, da hier der ADS-Datentyp DNWithBinary verwendet wird. Die WKGUIDs sind in dem mehrwertigen Attribut WellKnownObjects gespeichert, wobei jeder einzelne Wert wiederum ein Objekt des Typs ActiveDs.DNWithBinary ist. Die von diesem Objekt in binärer Form zurückgegebene GUID muss mit binGUIDtoSTR() vor der Ausgabe in einen String umgewandelt werden. binGUIDtoSTR() wurde schon vorher in diesem Kapitel vorgestellt.
Dim binarray
Dim obj ' As IADs
Dim strGUID ' As String
Dim oBinVal 'As ActiveDs.DNWithBinary
Set obj = GetObject("LDAP://XFilesServer/dc=FBI,dc=net")
' -- Auslesen der Liste der WellKnownObjects
binarray = obj.Get("wellKnownObjects")
For Each oBinVal In binarray
' -- Umwandlung in String
strGUID = binGUIDtoSTR(oBinVal.BinaryValue)
say oBinVal.DNString & " = " & strGUID
Next