Compartir a través de


Habilitar Rename-Safe Binding con la propiedad otherWellKnownObjects

Los objetos de la clase Container tienen un atributo otherWellKnownObjects que se puede usar para asociar un GUID con el nombre distintivo (DN) de un objeto secundario en el contenedor. Si se mueve o cambia el nombre del objeto secundario, el servidor de Active Directory actualiza el DN en el valor otherWellKnownObjects de ese objeto secundario. Esto permite el uso de la característica de enlace WKGUID para enlazar al objeto secundario mediante el GUID y el DN del contenedor en lugar del DN del objeto secundario.

El atributo otherWellKnownObjects es equivalente al atributo wellKnownObjects , excepto que las aplicaciones y los servicios pueden escribir un valor otherWellKnownObjects , pero solo el sistema puede escribir wellKnownObjects.

El uso del atributo otherWellKnownObjects y el enlace WKGUID es beneficioso en las situaciones siguientes en las que se requiere el enlace seguro para cambiar el nombre en relación con un objeto contenedor específico.

Si un objeto contenedor contiene otros objetos importantes, o si se puede cambiar el nombre o mover objetos importantes.

Si existen objetos importantes para cada instancia del objeto contenedor. Por ejemplo, el sistema usa el atributo wellKnownObjects de cada objeto domainDNS para almacenar un valor para el contenedor Users, que existe en cada instancia de un objeto domainDNS . Esto permite que las aplicaciones se enlacen al contenedor Usuarios de forma segura para cambiar el nombre especificando el GUID conocido y el DN del contenedor domainDNS . Las aplicaciones pueden usar el atributo otherWellKnownObjects de un contenedor de forma similar.

Si necesita un enlace seguro para cambiar el nombre o la funcionalidad de búsqueda en los objetos importantes.

Para agregar funcionalidades de búsqueda y enlace con seguridad de cambio de nombre

  1. Agregue un valor a la propiedad otherWellKnownObjects del objeto contenedor cuando se cree el objeto importante dentro de ese contenedor. El valor contiene el GUID que representa el objeto conocido. Tenga en cuenta que no es el objectGUID y el distinguishedName de ese objeto.
  2. Use la característica de enlace WKGUID para enlazar o buscar en el objeto importante.

El atributo otherWellKnownObjects puede tener varios valores y contiene las tuplas GUID/DN de objetos conocidos dentro de los contenedores en los que se establecen. El atributo otherWellKnownObjects tiene la sintaxis DNWithBinary en la que los valores tienen la siguiente forma:

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

En este ejemplo, "<char count>" es el recuento de dígitos hexadecimales en "<GUID> conocido", que es 32 (número de dígitos hexadecimales en un GUID) para otrosWellKnownObjects y wellKnownObjects. "<GUID> conocido" es la representación de dígito hexadecimal del GUID conocido. "<object DN>" es el nombre distintivo del objeto representado por este valor WKO. El servidor mantiene la parte ObjectDN de cada wellKnownObjects y otro valorWellKnownObjects para que contenga el nombre distintivo actual del objeto especificado originalmente cuando se creó el valor.

Por ejemplo, si {df447b5e-aa5b-11d2-8d53-00c04f79ab81} es el GUID conocido del objeto MyObject en el contenedor MyContainer del dominio Fabrikam.com, el valor otherWellKnownObjects especificaría el GUID conocido y el DN de MyObject:

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

Para enlazar con este objeto, use la siguiente cadena de enlace WKGUID que especifica el GUID conocido del objeto y el DN del contenedor:

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

Después de enlazar a este objeto, puede usar las interfaces COM adsi para buscar, leer, modificar o eliminar el objeto.

Para obtener más información y un ejemplo de código que muestra cómo agregar un objeto al atributo otherWellKnownObjects , vea Código de ejemplo para crear un objeto contenedor.