Well Known GUID

Eintrag zuletzt aktualisiert am: 20.01.2005

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.

LDAP://<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