Erro "O tipo de dados do diretório não pode ser convertido em ou de um tipo de dados DS nativo"

Este artigo ajuda a corrigir o erro "O tipo de dados do diretório não pode ser convertido em ou em um tipo de dados DS nativo".

Aplica-se a: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Número de KB original: 907462

Sintomas

Você está executando ou gerenciando aplicativos que usam informações do serviço de diretório do Active Directory no Windows. Você pode receber erros quando os aplicativos usam informações para atributos vinculados. Por exemplo, você pode receber o seguinte erro:

O tipo de dados de diretório não pode ser convertido em / de um tipo de dados DS nativo.

Nesse caso, quando você exporta o objeto afetado usando o utilitário LDIFDE (Ldifde.exe), um atributo é listado. No entanto, o atributo não tem valor.

Esse pode ser o comportamento esperado quando o valor é longo. Mas a próxima linha na saída tem o próximo atributo. Para um grupo e seu atributo managedBy, a saída pode se assemelhar ao seguinte:
...
showInAddressBook: <DN do objeto Catálogo de Endereços>
Managedby:
legacyExchangeDN: <nome X500>
groupType: -2147483640
...

Em um despejo de banco de dados com o verbo dumpdatabase do comando RootDSE, os grupos afetados serão mostrados da seguinte maneira:

38661 29827 1 1790 true - - 4 3 Group-DN Group-DN - 655368 6d03f309-ded2-41d5-9794-081d40343876 4
objectclass: 655368, 65536
DNT Base BDNT DelTime DeactiveTime USNChanged NCDNT Data
38661 1 38662 - - 55247898 1790 -
38661 36 2 - - - - -

A ID do atributo de link é sempre 36 e o parceiro de link é sempre 2.
Para obter informações sobre como despejar o banco de dados, consulte Como usar o recurso Dbdump Online do Active Directory.

Motivo

Um aplicativo pode adicionar um link de objeto que se refere ao objeto raiz interno do banco de dados do Active Directory. Esse objeto não tem um nome ou outras propriedades que possam ser usadas para aplicativos. Portanto, os aplicativos cliente exibem mensagens de erro que não indicam a causa de um problema.

Resolução

Se você usar controladores de domínio que estão executando o Windows Server 2003 com o Service Pack 1, o problema não ocorrerá. Mas o objeto com esse link inválido ainda está no banco de dados. Você pode encontrar os grupos afetados por um controlador de domínio ao pesquisar o NTDS. Arquivo DMP, da seguinte maneira:

findstr /i /c:" 36 2 – " ntds.dmp
38661 36 2 - - - - -

Windows Server 2003:

Você não pode resolve o problema excluindo o atributo. Se você excluir o atributo, o seguinte erro será registrado no log dos Serviços de Diretório de Aplicativo:

Tipo de Evento: Erro
Fonte do evento: Replicação do NTDS
Categoria de Evento: Replicação
ID do evento: 1694
Descrição:
O Active Directory não pôde atualizar o objeto a seguir com uma alteração de valor de atributo recebida do controlador de domínio de origem a seguir. Isso ocorre porque ocorreu um erro durante o aplicativo das alterações no Active Directory no controlador de domínio local.
Objeto:
<DN do grupo>
GUID do objeto:
<GUID>
Controlador de domínio de origem:
<Nome DC baseado em GUID>
Atributo:
Managedby:
Valor do atributo:
[]
GUID de valor de atributo:
00000000-0000-0000-0000-000000000000
Presente:
0
Essa operação será tentada novamente na próxima replicação agendada. A sincronização do controlador de domínio local com o controlador de domínio de origem é bloqueada até que o problema de atualização seja corrigido.
Dados adicionais
Valor do erro:
O sistema de replicação encontrou um erro interno.

Se esse erro for registrado, o objeto estará em um estado quebrado. Para obter o estado original ou excluir o objeto, você só pode executar uma restauração autoritativa no objeto. Para reparar objetos que exibem esse comportamento, recomendamos que você exclua e recompile o objeto usando o utilitário LDIFDE.

Cuidado

Todos os links traseiros são removidos quando você exclui um objeto.

Se você precisar manter determinados atributos em que não pode definir o valor, como o atributo objectSid ou o atributo SidHistory, exclua e desafina o objeto. (O Service Pack 1 do Windows Server 2003 mantém o atributo SidHistory no quando você exclui um objeto.) Quando você exclui e desdelete um objeto, não precisa executar um verificador semântico.

No entanto, atualmente não existem ferramentas para recuperar os atributos e os back-links. Para restaurar associações de grupo, você pode usar a ferramenta Groupadd.exe. Para obter mais informações, clique no seguinte número de artigo para exibir o artigo na Base de Dados de Conhecimento da Microsoft:

840001 Como restaurar contas de usuário excluídas e suas associações de grupo no Active Directory

Se você usar o Sistema de Provisionamento da Microsoft, poderá usar o sistema para recuperar os atributos e os back-links.

Alguns aplicativos de backup e recuperação podem oferecer uma maneira mais conveniente de remover esses atributos problemáticos. O aplicativo deve permitir que você selecione atributos durante uma operação de restauração. Por exemplo, um aplicativo deve permitir que você exclua o atributo managedBy ao restaurar um objeto excluído.

Status

A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a". Esse problema foi corrigido pela primeira vez no Microsoft Windows Server 2003 Service Pack 1.