Vinculação a objetos conhecidos usando WKGUID
Os contêineres podem ter um ou mais subobjetos importantes que podem ser renomeados ou movidos. Pode ser difícil controlar esses subobjetos e criar cadeias de caracteres de vinculação corretas para eles, especialmente se eles forem renomeados ou movidos.
Para oferecer suporte à associação segura de renomeação para esses objetos nesses contêineres, os Serviços de Domínio Active Directory têm dois atributos: wellKnownObjects e otherWellKnownObjects. Esses atributos têm uma sintaxe de atributo de ADSTYPE_DN_WITH_BINARY. Eles permitem vários valores e contêm as tuplas GUID/DN de objetos conhecidos dentro dos contêineres nos quais eles são definidos. O servidor do Active Directory mantém a parte de nome distinto de cada entrada wellKnownObjects e otherWellKnownObjects para que contenha o nome distinto atual do objeto especificado quando a entrada foi criada.
A propriedade otherWellKnownObjects pode ser definida e usada em qualquer objeto.
A propriedade wellKnownObjects é usada nos contêineres domainDNS e configuration. A propriedade wellKnownObjects é uma propriedade somente do sistema e só pode ser modificada pelo sistema operacional.
O contêiner domainDNS tem os seguintes objetos conhecidos:
- Usuários
- Computadores
- Sistema
- Controladores de Domínio
- Infraestrutura
- Objetos excluídos
- Achados e Perdidos
O contêiner de configuração tem o objeto conhecido: Objetos Excluídos.
Esses objetos estão em cada contêiner domainDNS e configuration em um Serviço de Domínio Active Directory.
Você pode vincular a um objeto conhecido usando o formato de vinculação WKGUID. A associação com WKGUID só tem suporte nos Serviços de Domínio Active Directory, ou seja, no provedor LDAP.
Importante
Sempre use o formato de vinculação WKGUID para vincular aos objetos conhecidos, conforme listado acima, nos contêineres de domínio e configuração. Isso garante que esses contêineres possam ser vinculados mesmo se forem movidos ou renomeados.
O formato de cadeia de caracteres de vinculação WKGUID é o seguinte:
LDAP://<servername>/<WKGUID=<XXXXX>,<container DN>>
"<Nome do servidor>" é o nome do servidor de diretório. O "nome do> servidor"< é opcional.
"<XXXXX"> é a representação de cadeia de caracteres do valor hexadecimal do GUID que representa o objeto conhecido. A cadeia de caracteres GUID é especificada no formulário "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" e não é a mesma forma que a cadeia de caracteres GUID produzida pela função StringFromGUID2 , que assume a forma "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}". Para obter mais informações e um exemplo de código que mostra como criar uma cadeia de caracteres vinculável a partir de um GUID, consulte Código de exemplo para criar uma representação de cadeia de caracteres vinculável de um GUID.
Para vincular a um objeto especificado em otherWellKnownObjects em um objeto, especifique "XXXXX"<> como a forma de cadeia de caracteres de ligação do GUID de objeto conhecido do objeto. Para obter mais informações, consulte Lendo o objectGUID de um objeto e Criando uma representação de cadeia de caracteres do GUID. Para obter mais informações sobre como definir a propriedade otherWellKnownObjects em objetos, consulte Habilitando a associação Rename-Safe com a propriedade otherWellKnownObjects.
Para vincular a um objeto especificado em wellKnownObjects em domainDNS ou contêineres de configuração, especifique "XXXXX">< como uma das constantes a seguir, listadas na tabela a seguir, conforme definido em Ntdsapi.h.
Contêiner | Identificador GUID |
---|---|
Usuários | GUID_USERS_CONTAINER_W |
Computadores | GUID_COMPUTRS_CONTAINER_W |
Sistema | GUID_SYSTEMS_CONTAINER_W |
Controladores de Domínio | GUID_DOMAIN_CONTROLLERS_CONTAINER_W |
Infraestrutura | GUID_INFRASTRUCTURE_CONTAINER_W |
Objetos excluídos | GUID_DELETED_OBJECTS_CONTAINER_W |
Achados e Perdidos | GUID_LOSTANDFOUND_CONTAINER_W |
Por exemplo, para vincular ao contêiner do usuário em um domínio, especifique GUID_USERS_CONTAINER_W como "<XXXXX".>
"<container DN"> é o nome distinto do objeto container que tem esse objeto representado como um valor em sua propriedade wellKnownObjects . Por exemplo, para vincular ao contêiner users em um domínio, especifique o nome distinto do domínio como o "<DN> do contêiner".
Por exemplo, para vincular ao contêiner users do Fabrikam.com de domínio, use a seguinte cadeia de caracteres de vinculação.
LDAP://<WKGUID=a9d1ca15768811d1aded00c04fd8d5cd,dc=Fabrikam,dc=com>
Para obter mais informações e um exemplo de código que mostra como vincular a um GUID conhecido, consulte Código de exemplo para vinculação a objetos conhecidos.