Erreur « le type de données annuaire ne peut pas être converti dans/à partir d’un type de données DS natif » dans Windows

S’applique à : Windows Server, version 2004, all editionsWindows Server, version 1903, all editionsWindows Server 2019, all editions

 

Symptômes


Vous exécutez ou gérez des applications qui utilisent des informations du service d’annuaire Active Directory de Windows. Vous risquez de recevoir des erreurs lorsque les applications utilisent des informations d’attributs liés. Par exemple, vous pouvez recevoir le message d’erreur suivant :
Le type de données de l’annuaire ne peut pas être converti dans/à partir d’un type de données DS natif.
Dans le cas présent, lorsque vous exportez l’objet affecté à l’aide de l’utilitaire LDIFDE (Ldifde. exe), un attribut est répertorié. Toutefois, l’attribut n’a pas de valeur. Il peut s’agir du comportement attendu lorsque la valeur est longue. Mais la ligne suivante dans la sortie a l’attribut Next. Dans le cas d’un groupe et de son attribut ManagedBy , la sortie peut ressembler à ce qui suit :
... showInAddressBook : <nom de domaine de l’objet carnet d’adresses>managedBy : legacyExchangeDN : <nom X500>groupType :-2147483640...

Dans un vidage de base de données avec la commande RootDSE verbed dumpdatabase, les groupes concernés apparaissent comme suit :

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

L’ID d’attribut du lien est toujours 36 et le partenaire de liaison est toujours 2.

Pour plus d’informations sur le vidage de la base de données, voir utilisation de la fonctionnalité de 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. L’objet n’a pas de nom ou 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 du problème.

Résolution


Si vous utilisez des contrôleurs de domaine exécutant Windows Server 2003 avec Service Pack 1, le problème ne se produit pas. Toutefois, l’objet avec ce lien n’est toujours pas dans la base de données. Vous pouvez rechercher les groupes affectés à un contrôleur de domaine lorsque vous recherchez le contrôle NTDS. 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, le message d’erreur suivant est consigné dans le journal des services d’annuaire d’applications :

Type d’événement : ErrorEvent source : NTDS ReplicationEvent catégorie : ReplicationEvent ID : 1694Description : Active Directory n’a pas pu mettre à jour l’objet suivant avec une modification de valeur d’attribut reçue par le contrôleur de domaine source suivant. Car une erreur s’est produite lors de l’application des modifications apportées à Active Directory sur le contrôleur de domaine local. Objet :<nom de domaine unique>le GUID d’objet :<GUID>contrôleur de domaine source :<nom de contrôleur de domaine de base GUID >attribut : ManagedBy : valeur d’attribut : 00000000-0000-0000-0000-000000000000 Cette opération sera réessayée lors de la prochaine réplication programmé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é. Valeur d’erreur de données supplémentaire : 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 obtenir l’état d’origine ou pour supprimer l’objet, vous pouvez uniquement exécuter une restauration faisant autorité sur l’objet. Pour réparer les objets présentant ce comportement, il est recommandé de supprimer et de régénérer l’objet à l’aide de l’utilitaire LDIFDE. Attention Tous les liens précédent sont supprimés lorsque vous supprimez un objet. Si vous devez conserver certains attributs pour lesquels vous ne pouvez pas définir la valeur, par exemple, 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 un objet et que vous le supprimez, vous n’avez pas à exécuter de vérificateur sémantique. Néanmoins, il n’existe actuellement aucun outil permettant de récupérer les attributs et les liens dorsaux. Pour restaurer des appartenances aux groupes, vous pouvez utiliser l’outil Groupadd. exe. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
840001 Restaurer des comptes d’utilisateurs supprimés et leurs appartenances aux groupes dans Active Directory
Si vous utilisez le système de mise en service de Microsoft, vous pouvez utiliser le système pour récupérer les attributs et les liens dorsaux. Certaines applications de sauvegarde et de récupération pourraient vous permettre de supprimer ces attributs problématiques de manière plus pratique. L’application doit vous permettre de sélectionner des attributs lors d’une opération de restauration. Par exemple, une application doit vous permettre d’exclure l’attribut ManagedBy lors de la restauration d’un objet supprimé.

Statut


Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.Ce problème a été corrigé pour la première fois dans Microsoft Windows Server 2003 Service Pack 1.