Error "El tipo de datos del directorio no se puede convertir a un tipo de datos DS nativo ni desde él".

Este artículo ayuda a corregir el error "El tipo de datos de directorio no se puede convertir a o desde un tipo de datos DS nativo".

Se aplica a: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Número de KB original: 907462

Síntomas

Está ejecutando o administrando aplicaciones que usan información del servicio de directorio de Active Directory en Windows. Puede recibir errores cuando las aplicaciones usan información para atributos vinculados. Por ejemplo, puede recibir el siguiente error:

El tipo de datos del directorio no se puede convertir a / desde un tipo de datos DS nativo.

En este caso, al exportar el objeto afectado mediante la utilidad LDIFDE (Ldifde.exe), se muestra un atributo. Sin embargo, el atributo no tiene ningún valor.

Este puede ser el comportamiento esperado cuando el valor es largo. Pero la siguiente línea de la salida tiene el atributo siguiente. Para un grupo y su atributo managedBy, la salida puede ser similar a la siguiente:
...
showInAddressBook: <DN del objeto de libreta de direcciones>
managedBy:
legacyExchangeDN: <nombre X500>
groupType: -2147483640
...

En un volcado de base de datos con el verbo dumpdatabase del verbo RootDSE, los grupos afectados se mostrarán de la siguiente manera:

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

El identificador de atributo de vínculo siempre es 36 y el asociado de vínculo siempre es 2.
Para obtener información sobre cómo volcar la base de datos, consulte Uso de la característica Dbdump en línea de Active Directory.

Causa

Una aplicación puede agregar un vínculo de objeto que haga referencia al objeto raíz interno de la base de datos de Active Directory. Este objeto no tiene un nombre ni ninguna otra propiedad que se pueda usar para las aplicaciones. Por lo tanto, las aplicaciones cliente muestran mensajes de error que no indican la causa de un problema.

Solución

Si usa controladores de dominio que ejecutan Windows Server 2003 con Service Pack 1, el problema no se produce. Pero el objeto con este vínculo no válido sigue estando en la base de datos. Puede encontrar los grupos afectados para un controlador de dominio al buscar el NTDS. Archivo DMP, como se indica a continuación:

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

Windows Server 2003:

No se puede resolver el problema mediante la eliminación del atributo . Si elimina el atributo, se registra el siguiente error en el registro de Application Directory Services:

Tipo de evento: Error
Origen de eventos: replicación NTDS
Categoría de eventos: Replicación
Identificador de evento: 1694
Descripción:
Active Directory no pudo actualizar el siguiente objeto con un cambio de valor de atributo recibido del siguiente controlador de dominio de origen. Esto se debe a que se produjo un error durante la aplicación de los cambios en Active Directory en el controlador de dominio local.
Objeto:
<grupo DN>
GUID del objeto:
<GUID>
Controlador de dominio de origen:
<Nombre del controlador de dominio basado en GUID>
Atributo:
managedBy:
Valor del atributo:
[]
GUID de valor de atributo:
00000000-0000-0000-0000-000000000000
Presente:
0
Esta operación se volverá a intentar en la siguiente replicación programada. La sincronización del controlador de dominio local con el controlador de dominio de origen se bloquea hasta que se corrige el problema de actualización.
Datos adicionales
Valor de error:
El sistema de replicación encontró un error interno.

Si se registra este error, el objeto está en estado roto. Para lograr el estado original o eliminar el objeto, solo puede ejecutar una restauración autoritativa en el objeto. Para reparar objetos que muestran este comportamiento, se recomienda eliminar y volver a generar el objeto mediante la utilidad LDIFDE.

Precaución

Todos los vínculos posteriores se quitan al eliminar un objeto.

Si tiene que mantener determinados atributos en los que no puede establecer el valor, como el atributo objectSid o el atributo SidHistory, elimine y, a continuación, recupere el objeto. (Windows Server 2003 Service Pack 1 conserva el atributo SidHistory al eliminar un objeto). Al eliminar y recuperar un objeto, no es necesario ejecutar un comprobador semántico.

Sin embargo, actualmente no existen herramientas para recuperar los atributos y los vínculos posteriores. Para restaurar las pertenencias a grupos, puede usar la herramienta Groupadd.exe. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

840001 Cómo restaurar las cuentas de usuario eliminadas y sus pertenencias a grupos en Active Directory

Si usa el sistema de aprovisionamiento de Microsoft, puede usar el sistema para recuperar los atributos y los vínculos posteriores.

Algunas aplicaciones de copia de seguridad y recuperación pueden ofrecer una manera más cómoda de quitar estos atributos problemáticos. La aplicación debe permitirle seleccionar atributos durante una operación de restauración. Por ejemplo, una aplicación debe permitirle excluir el atributo managedBy al restaurar un objeto eliminado.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a". Este problema se corrigió primero en Microsoft Windows Server 2003 Service Pack 1.