Freigeben über


Aktivieren Rename-Safe Bindung mit der otherWellKnownObjects-Eigenschaft

Objekte der Container-Klasse verfügen über ein otherWellKnownObjects-Attribut , das Sie verwenden können, um eine GUID dem Distinguished Name (DN) eines untergeordneten Objekts im Container zuzuordnen. Wenn das untergeordnete Objekt verschoben oder umbenannt wird, aktualisiert der Active Directory-Server den DN im OtherWellKnownObjects-Wert für dieses untergeordnete Objekt. Dies ermöglicht die Verwendung des WKGUID-Bindungsfeatures zum Binden an das untergeordnete Objekt mithilfe der GUID und des DN des Containers anstelle des DN des untergeordneten Objekts.

Das attribut otherWellKnownObjects entspricht dem wellKnownObjects-Attribut , mit der Ausnahme, dass Anwendungen und Dienste einen anderenWellKnownObjects-Wert schreiben können, aber nur das System wellKnownObjects schreiben kann.

Die Verwendung des otherWellKnownObjects-Attributs und der WKGUID-Bindung ist in den folgenden Situationen von Vorteil, in denen eine umbenennungssichere Bindung in Bezug auf ein bestimmtes Containerobjekt erforderlich ist.

Wenn ein Containerobjekt andere wichtige Objekte enthält oder wichtige Objekte umbenannt oder verschoben werden können.

Wenn die wichtigen Objekte für jede instance des Containerobjekts vorhanden sind. Beispielsweise verwendet das System das wellKnownObjects-Attribut jedes domainDNS-Objekts, um einen Wert für den Container Users zu speichern, der in jedem instance eines domainDNS-Objekts vorhanden ist. Dadurch können Anwendungen eine umbenennungssichere Bindung an den Container Users herstellen, indem sie die bekannte GUID und den DN des DomainDNS-Containers angeben. Anwendungen können das Attribut otherKnownObjects eines Containers auf ähnliche Weise verwenden.

Wenn Sie eine umbenennungssichere Bindungs- und/oder Suchfunktion für die wichtigen Objekte benötigen.

So fügen Sie umbenennungssichere Bindungs- und Suchfunktionen hinzu

  1. Fügen Sie der otherWellKnownObjects-Eigenschaft des Containerobjekts einen Wert hinzu, wenn das wichtige Objekt innerhalb dieses Containers erstellt wird. Der Wert enthält die GUID, die das bekannte Objekt darstellt. Beachten Sie, dass dies nicht die objectGUID und der distinguishedName für dieses Objekt ist.
  2. Verwenden Sie die WKGUID-Bindungsfunktion, um eine Bindung an das wichtige Objekt zu erstellen oder es zu durchsuchen.

Das attribut otherWellKnownObjects kann mehrere Werte aufweisen und enthält die GUID/DN-Tupel bekannter Objekte in den Containern, für die sie festgelegt sind. Das attribut otherWellKnownObjects weist die DNWithBinary-Syntax auf, in der Werte die folgende Form aufweisen:

B:<char count>:<well known GUID>:<object DN>

In diesem Beispiel ist "<char count>" die Anzahl der Hexadezimalziffern in der "<bekannten GUID>", die 32 (Anzahl der Hexadezimalziffern in einer GUID) für otherWellKnownObjects und wellKnownObjects ist. "<well known GUID>" ist die Hexadezimalstellendarstellung der bekannten GUID. "<object DN>" ist der distinguished Name des Objekts, das durch diesen WKO-Wert dargestellt wird. Der Server verwaltet den ObjectDN-Teil jedes wellKnownObjects - und otherWellKnownObjects-Werts , sodass er den aktuellen Distinguished-Namen des Objekts enthält, das ursprünglich beim Erstellen des Werts angegeben wurde.

Wenn beispielsweise {df447b5e-aa5b-11d2-8d53-00c04f79ab81} die bekannte GUID des MyObject-Objekts im MyContainer-Container in der domäne Fabrikam.com ist, würde der Wert otherWellKnownObjects die bekannte GUID und den DN von MyObject angeben:

B:32:df447b5eaa5b11d28d5300c04f79ab81:cn=MyObject,cn=MyContainer,dc=Fabrikam,dc=com

Verwenden Sie zum Binden an dieses Objekt die folgende WKGUID-Bindungszeichenfolge, die die bekannte GUID des Objekts und den DN des Containers angibt:

LDAP://<WKGUID=df447b5eaa5b11d28d5300c04f79ab81,cn=MyContainer,dc=Fabrikam,dc=com>

Nach der Bindung an dieses Objekt können Sie die ADSI-COM-Schnittstellen verwenden, um das Objekt zu durchsuchen, zu lesen, zu ändern oder zu löschen.

Weitere Informationen und ein Codebeispiel zum Hinzufügen eines Objekts zum attribut otherWellKnownObjects finden Sie unter Beispielcode für das Erstellen eines Containerobjekts.