Erreur « Le type de données d’annuaire ne peut pas être converti vers ou à partir d’un type de données DS natif »

Cet article vous aide à corriger l’erreur « Le type de données d’annuaire ne peut pas être converti vers ou à partir d’un type de données DS natif ».

Produits concernés : Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Numéro de la base de connaissances d’origine : 907462

Symptômes

Vous exécutez ou gérez des applications qui utilisent les informations du service d’annuaire Active Directory dans Windows. Vous pouvez recevoir des erreurs lorsque les applications utilisent des informations pour les attributs liés. Par exemple, vous pouvez recevoir l’erreur suivante :

Le type de données de répertoire ne peut pas être converti en /à partir d’un type de données DS natif.

Dans ce cas, lorsque vous exportez l’objet affecté à l’aide de l’utilitaire LDIFDE (Ldifde.exe), un attribut est répertorié. Toutefois, l’attribut n’a aucune valeur.

Il peut s’agir du comportement attendu lorsque la valeur est longue. Mais la ligne suivante dans la sortie a l’attribut suivant. Pour un groupe et son attribut managedBy, la sortie peut ressembler à ce qui suit :
...
showInAddressBook : <DN de l’objet Carnet d’adresses>
managedBy :
legacyExchangeDN : <nom X500>
groupType : -2147483640
...

Dans un vidage de base de données avec le verbe dumpdatabase de la commande RootDSE, les groupes affectés s’affichent comme suit :

38661 29827 1 1790 true - - 4 3 Groupe-DN-DN - 655368 6d03f309-ded2-41d5-9794-081d40343876 4
objectclass : 655368, 65536
Données NCDNT de base BDNT DelTime DeactiveTime USNChanged
38661 1 38662 - - 55247898 1790 -
38661 36 2 - - - - -

L’ID d’attribut de lien est toujours 36 et le partenaire de lien est toujours 2.
Pour plus d’informations sur la façon de vider la base de données, consultez Utilisation de la fonctionnalité Dbdump en ligne d’Active Directory.

Cause

Une application peut ajouter un lien d’objet qui fait référence à l’objet racine interne de la base de données Active Directory. Cet objet n’a pas de nom ni d’autres propriétés utilisables pour les applications. Par conséquent, les applications clientes affichent des messages d’erreur qui n’indiquent pas la cause d’un problème.

Résolution

Si vous utilisez des contrôleurs de domaine qui exécutent Windows Server 2003 avec Service Pack 1, le problème ne se produit pas. Mais l’objet avec ce lien non valide se trouve toujours dans la base de données. Vous pouvez trouver les groupes affectés pour un contrôleur de domaine lorsque vous effectuez une recherche dans NTDS. Fichier DMP, comme suit :

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

Windows Server 2003 :

Vous ne pouvez pas résoudre le problème en supprimant l’attribut . Si vous supprimez l’attribut, l’erreur suivante est consignée dans le journal des services d’annuaire d’applications :

Type d'événement : Erreur
Source de l’événement : Réplication NTDS
Catégorie d’événement : réplication
ID d’événement : 1694
Description :
Active Directory n’a pas pu mettre à jour l’objet suivant avec une modification de valeur d’attribut reçue du contrôleur de domaine source suivant. Cela est dû au fait qu’une erreur s’est produite lors de l’application des modifications apportées à Active Directory sur le contrôleur de domaine local.
Objet:
<groupe DN>
GUID de l’objet :
<GUID>
Contrôleur de domaine source :
<Nom du contrôleur de domaine basé sur guid>
Attribut:
managedBy :
Valeur d’attribut :
[]
GUID de valeur d’attribut :
00000000-0000-0000-0000-000000000000
Présent:
0
Cette opération sera à nouveau tentée lors de la prochaine réplication planifiée. La synchronisation du contrôleur de domaine local avec le contrôleur de domaine source est bloquée jusqu’à ce que le problème de mise à jour soit corrigé.
Données supplémentaires
Valeur d’erreur :
Le système de réplication a rencontré une erreur interne.

Si cette erreur est enregistrée, l’objet est dans un état rompu. Pour atteindre l’état d’origine ou supprimer l’objet, vous pouvez uniquement exécuter une restauration faisant autorité sur l’objet . Pour réparer les objets qui présentent ce comportement, nous vous recommandons de supprimer et de reconstruire l’objet à l’aide de l’utilitaire LDIFDE.

Attention

Tous les liens précédents sont supprimés lorsque vous supprimez un objet.

Si vous devez conserver certains attributs sur lesquels vous ne pouvez pas définir la valeur, tels que l’attribut objectSid ou l’attribut SidHistory, supprimez puis supprimez l’objet. (Windows Server 2003 Service Pack 1 conserve l’attribut SidHistory activé lorsque vous supprimez un objet.) Lorsque vous supprimez et supprimez un objet, vous n’avez pas besoin d’exécuter un vérificateur sémantique.

Toutefois, il n’existe actuellement aucun outil pour récupérer les attributs et les liens précédents. Pour restaurer les appartenances aux groupes, vous pouvez utiliser l’outil Groupadd.exe. Pour plus d’informations, cliquez sur le numéro d’article suivant pour afficher l’article dans la Base de connaissances Microsoft :

840001 Comment restaurer des comptes d’utilisateurs supprimés et leurs appartenances à un groupe dans Active Directory

Si vous utilisez le système d’approvisionnement Microsoft, vous pouvez utiliser le système pour récupérer les attributs et les liens précédents.

Certaines applications de sauvegarde et de récupération peuvent offrir un moyen plus pratique de supprimer ces attributs problématiques. L’application doit vous permettre de sélectionner des attributs pendant une opération de restauration. Par exemple, une application doit vous permettre d’exclure l’attribut managedBy lorsque vous restaurez un objet supprimé.

État

Microsoft a confirmé l’existence de ce problème dans les produits Microsoft répertoriés dans la section « Produits concernés ». Ce problème a été corrigé pour la première fois dans Microsoft Windows Server 2003 Service Pack 1.