Habilitando a associação Rename-Safe com a propriedade otherWellKnownObjects
Os objetos da classe Container têm um atributo otherWellKnownObjects que você pode usar para associar um GUID ao nome distinto (DN) de um objeto filho no contêiner. Se o objeto filho for movido ou renomeado, o servidor do Active Directory atualizará o DN no valor otherWellKnownObjects para esse objeto filho. Isso permite o uso do recurso de vinculação WKGUID para vincular ao objeto filho usando o GUID e o DN do contêiner em vez do DN do objeto filho.
O atributo otherWellKnownObjects é equivalente ao atributo wellKnownObjects, exceto que aplicativos e serviços podem gravar um valor otherWellKnownObjects, mas somente o sistema pode gravar wellKnownObjects.
O uso do atributo otherWellKnownObjects e da vinculação WKGUID é benéfico nas seguintes situações em que a associação renome-safe é necessária em relação a um objeto de contêiner específico.
Se um objeto de contêiner contiver outros objetos importantes ou se objetos importantes puderem ser renomeados ou movidos.
Se os objetos importantes existirem para cada instância do objeto de contêiner. Por exemplo, o sistema usa o atributo wellKnownObjects de cada objeto domainDNS para armazenar um valor para o contêiner Users, que existe em cada instância de um objeto domainDNS. Isso permite que os aplicativos se associem ao contêiner Usuários de uma maneira segura para renomeação, especificando o GUID conhecido e o DN do contêiner domainDNS . Os aplicativos podem usar o atributo otherWellKnownObjects de um contêiner da mesma forma.
Se você precisar de vinculação segura de renomeação e/ou recurso de pesquisa nos objetos importantes.
Para adicionar recursos de pesquisa e associação segura para renomear
- Adicione um valor à propriedade otherWellKnownObjects do objeto de contêiner quando o objeto importante for criado nesse contêiner. O valor contém o GUID que representa o objeto conhecido. Lembre-se de que este não é o objectGUID e o distinguishedName para esse objeto.
- Use o recurso de vinculação WKGUID para vincular ou pesquisar o objeto importante.
O atributo otherWellKnownObjects pode ter vários valores e contém as tuplas GUID/DN de objetos conhecidos dentro dos contêineres nos quais eles são definidos. O atributo otherWellKnownObjects tem a sintaxe DNWithBinary na qual os valores têm a seguinte forma:
B:<char count>:<well known GUID>:<object DN>
Neste exemplo, "contagem de caracteres" é a contagem de dígitos hexadecimais em "<<GUID bem conhecido", que é 32 (número de dígitos hexadecimais em um GUID>) para otherWellKnownObjects e wellKnownObjects.> "<GUID bem conhecido" é a representação de dígitos hexadecimais do GUID> bem conhecido. "<object DN"> é o nome distinto do objeto representado por esse valor WKO. O servidor mantém a parte ObjectDN de cada valor wellKnownObjects e otherWellKnownObjects para que ele contenha o nome distinto atual do objeto originalmente especificado quando o valor foi criado.
Por exemplo, se {df447b5e-aa5b-11d2-8d53-00c04f79ab81} for o GUID conhecido do objeto MyObject no contêiner MyContainer no domínio Fabrikam.com, o valor otherWellKnownObjects especificará o GUID conhecido e o DN de MyObject:
B:32:df447b5eaa5b11d28d5300c04f79ab81:cn=MyObject,cn=MyContainer,dc=Fabrikam,dc=com
Para vincular a esse objeto, use a seguinte cadeia de caracteres de vinculação WKGUID que especifica o GUID conhecido do objeto e o DN do contêiner:
LDAP://<WKGUID=df447b5eaa5b11d28d5300c04f79ab81,cn=MyContainer,dc=Fabrikam,dc=com>
Depois de vincular a esse objeto, você pode usar as interfaces ADSI COM para pesquisar, ler, modificar ou excluir o objeto.
Para obter mais informações e um exemplo de código que mostra como adicionar um objeto ao atributo otherWellKnownObjects , consulte Código de exemplo para criar um objeto de contêiner.