Résoudre un message d’erreur interne pendant la phase de réplication de dcpromo

Cet article explique comment résoudre une erreur interne que vous recevez pendant la phase de réplication de l’Assistant Installation d’Active Directory (Dcpromo).

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

Remarque

Utilisateurs à domicile : Cet article est destiné uniquement aux agents de support technique et aux professionnels de l’informatique. Si vous recherchez de l’aide pour résoudre un problème, demandez à la communauté Microsoft.

Résumé

Pendant la promotion, les objets de service d’annuaire sont répliqués dans l’ordre du numéro de séquence de mise à jour (USN) (de faible à élevé) pour le schéma, la configuration et le domaine. Des erreurs internes peuvent se produire lorsqu’un conteneur parent pour les objets enfants répliqués n’existe pas dans le service d’annuaire local.

Ce problème peut se produire dans l’un des scénarios suivants :

  • Il existe un objet actif dont le parent a été supprimé dans le passé, et le parent a expiré et a été converti en fantôme. Par conséquent, l’objet enfant ne peut plus être répliqué. L’appel à FillGuidAndSid pour l’objet parent dans ReplPrepareDataToShip échoue et une erreur est signalée (8352 = ERROR_DS_NOT_AN_OBJECT). Cette erreur provoque l’arrêt de la réplication sortante de l’objet enfant, et vous recevez un message d’erreur interne de réplication.

    S’il existe un objet actif (ou supprimé) qui a un parent fantôme, Active Directory accepte temporairement l’objet actif en raison d’exigences de réplication dans le désordre. Les procédures de nettoyage de disque, telles que le garbage collection, ne doivent pas être en mesure de convertir un objet supprimé en un fantôme si le parent a des objets enfants. Le fichier Ntdsa.dll à partir de Windows 2000 Service Pack 2 (SP2) empêche cette situation dans le service d’annuaire. Toutefois, ce fichier ne résout pas le problème une fois qu’il s’est déjà produit.

  • Vous utilisez la commande de restauration faisant autorité lorsque vous utilisez Windows Server 2003 ou une version ultérieure de l’outil Ntdsutil. Ntdsutil.exe augmente l’USN des conteneurs et objets enfants spécifiés dans Active Directory. Les versions bêta de Ntdsutil.exe peuvent augmenter de manière incorrecte l’USN pour le conteneur Perdus et trouvés. Lorsque des objets destinés au conteneur Lost and Found sont répliqués avant la création du conteneur dans le service d’annuaire local, l’événement suivant est signalé :

    Événement 1084 : Échec de la réplication avec une erreur interne

    Pour éviter ce scénario, le conteneur Lost and Found est normalement l’un des premiers conteneurs répliqués.

Des erreurs internes peuvent également se produire sur les contrôleurs de domaine Active Directory existants pendant la réplication Active Directory normale ou initiée par l’administrateur.

Étapes de résolution de ce message d’erreur

  1. Utilisez le Moniteur réseau, les journaux des événements ou Dcpromo.log pour localiser le serveur source utilisé pendant la réplication Active Directory (lorsque vous utilisez l’Assistant Installation d’Active Directory).

  2. Si cette erreur se produit lorsque vous utilisez l’Assistant Installation d’Active Directory et qu’il existe plusieurs partenaires de réplication potentiels, utilisez le fichier de réponses de l’Assistant Installation d’Active Directory pour rechercher le serveur source. Les contrôleurs de domaine source possibles incluent des contrôleurs de domaine dans le domaine parent pour les nouveaux domaines enfants, ou des contrôleurs de domaine dans le même domaine pour les contrôleurs de domaine répliqués. Si un serveur source spécifique est suspect, arrêtez le service Net Logon sur l’ordinateur suspect et effectuez une recherche à partir d’un autre contrôleur de domaine.

  3. Sur le serveur source, recherchez et cliquez sur la sous-clé de Registre suivante :

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Diagnostics

    Modifiez les valeurs suivantes :

    • 9 Traitement interne : définissez le niveau de diagnostic sur 1.
    • 7 Configuration interne : définissez le niveau de diagnostic sur 3.
    • 5 Événements de réplication : définissez le niveau de diagnostic sur 3.
  4. Utilisez le registre Rédacteur pour exporter la \NTDS clé du serveur source vers l’ordinateur promu (par exemple, Ntds.reg). Copiez le fichier sur l’ordinateur qui rencontre l’erreur interne lors de la réplication. Si l’erreur interne se produit lorsque l’Assistant Installation d’Active Directory est en cours d’exécution, copiez le fichier .reg sur le bureau sur le contrôleur de domaine problématique afin que le fichier puisse être facilement démarré.

    Vous pouvez également appuyer sur touche Windows+R, puis faire glisser le fichier .reg à partir de la fenêtre Explorer intermédiaire qui se concentre sur ce fichier. Sélectionnez OK pour ajouter le contenu du fichier .reg au Registre.

  5. Lorsque l’ordinateur promu commence à répliquer le contexte d’affectation de noms de schéma, exécutez le fichier Ntds.reg pour générer la \NTDS\Diagnostics clé de Registre et les paramètres.

    Avertissement

    La NTDS\Diagnostics clé de Registre n’existe pas à cette phase de promotion et doit être créée manuellement sur le contrôleur de domaine de destination. Si la clé de NTDS\Diagnostics Registre est chargée trop tôt lorsque l’Assistant Installation d’Active Directory est en cours d’exécution, la clé est remplacée par les valeurs par défaut et aucun événement n’est journalisé. Pour les contrôleurs de domaine existants, les paramètres du Registre peuvent être activés à tout moment.

  6. Examinez les journaux des événements du service d’annuaire sur les serveurs source et de destination. Les événements internes sont affichés sur le serveur source en tant qu’ID d’événement 1173. Passez en revue les événements de réplication NTDS qui se produisent avant l’erreur interne pour localiser l’identification universelle globale (GUID) de l’objet en cours de réplication. (Il peut y avoir des tentatives back-to-back pour répliquer le même objet). Enregistrez le GUID de l’objet ou du conteneur problématique.

  7. Démarrez Ldp.exe, lancez une connexion et établissez une liaison avec le serveur source. Dans le menu Parcourir , sélectionnez Supprimer. Pour le chemin du nom unique, tapez <GUID=GUID#>, par exemple GUID <=b2d605a4-b9e6-4505-ba59-895e91a9a7b5>. Définissez l’étendue de recherche sur Base, puis supprimez le GUID spécifié.

  8. À l’aide de Ldp.exe, définissez la valeur de l’attribut TombstoneLifetime sur 2 (valeur en jours avant la suppression des objets tombstoned). TombstoneLifetime se trouve dans le chemin de nom unique suivant :

    CN=Service d’annuaire,CN=Windows NT,CN=Services,CN=Configuration,,DC= domaine racine ,DC=COM

    Vérifiez que l’attribut TombstoneLifetime est présent et que sa valeur est 2. Si la valeur est inférieure à 2, la valeur n’est pas valide et le serveur utilise la valeur par défaut de 60 jours. (Vous pouvez également utiliser ADSIEDIT pour modifier cet attribut.)

    Remarque

    Après avoir attendu deux jours pour que les objets tombstoned soient supprimés, vous devrez peut-être attendre 60 minutes ou plus avant de redémarrer le contrôleur de domaine et de poursuivre le processus de garbage collection.

  9. Lancez le garbage collection sur le contrôleur de domaine source. Recherchez et cliquez sur la clé de Registre suivante :

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Diagnostics key

    Modifiez les valeurs suivantes :

    • 6 Garbage Collection : définissez le niveau de diagnostic sur 3.
    • 9 Traitement interne : définissez le niveau de diagnostic sur 1.

    Pour forcer un garbage collection, redémarrez le contrôleur de domaine. Le garbage collection doit s’exécuter 15 minutes après le redémarrage du contrôleur de domaine. Les niveaux de diagnostic enregistrent désormais les événements de garbage collection dans le journal des événements du service d’annuaire.

  10. Pour vérifier que l’objet a été supprimé, exécutez la commande suivante :

    repadmin /showmeta "<"GUID for deleted object">"
    

    Si vous recevez un message : aucun objet de ce type, l’objet a déjà été supprimé avec succès et vous pouvez maintenant exécuter correctement l’Assistant Installation d’Active Directory. Si l’objet n’a pas encore subi le processus de garbage collection, il doit y avoir des métadonnées pour l’attribut isDeleted. L’horodatage associé à l’attribut isDeleted est l’heure de suppression. Vérifiez que l’heure de suppression est définie pour au moins deux jours, par exemple :

    repadmin /showmeta "<GUID=b2d605a4-b9e6-4505-ba59-895e91a9a7b>"
    
  11. Lorsque ce problème est résolu, réinitialisez les niveaux de journalisation diagnostics sur 0 et définissez la durée de vie de la pierre tombstone sur ce qu’elle était précédemment, ou supprimez complètement la valeur pour inviter l’ordinateur à utiliser les valeurs par défaut. Le paramètre TombstoneLifetime est essentiel pour définir la durée de vie utile de l’état du système et des sauvegardes Active Directory. Lorsque TombstoneLifetime est défini sur 2, les bandes de sauvegarde datant de plus de deux jours sont inutilisables. Tout contrôleur de domaine arrêté depuis deux jours ou plus doit être restauré à partir de la sauvegarde ou réinstallé.

Le texte suivant est un exemple des événements signalés dans le journal des événements du service d’annuaire sur le serveur source et de destination :

Type d’événement : Information Source de l’événement : Réplication NTDS Catégorie d’événement : ID d’événement de réplication : 1240 Date : MM/JJ/YY Heure : HH :MM :SS AM|Utilisateur PM : S-1-5-21-1151542997-2719369742-1698538726-500 Ordinateur : computer_source Description : Propriété 0 (objectClass) de object CN="NTDS Settings DEL :51c6913c-9221-4ac4-8513-9155dd7e15ad »,CN="ZA9902000 DEL :37eabd48-bc98-483f-b2fd-9c8869e9c3ce »,CN=Servers,CN=Bull,CN=Sites,CN=Configuration,DC=mma,DC=fr (GUID 51c6913c-9221-9221-ac4-8513-9155dd7e15ad) est envoyé à DSA 6abec3d1-3054-41c8-a362-5a0c5b7d5d71.

Type d’événement : Avertissement Source de l’événement : NTDS Général Catégorie d’événement : ID d’événement de traitement interne : 1173 Date : MM/JJ/YY Heure : HH :MM :SS AM|Utilisateur PM : S-1-5-21-1151542997-2719369742-1698538726-500 Ordinateur : computer_source Description : Événement interne : Une exception e0010002 s’est produite avec les paramètres 8442 et 20a0 (ID interne 11003a1).

Le texte suivant est signalé dans le journal de l’Assistant Installation d’Active Directory sur l’ordinateur en cours de promotion. Dans cet exemple de fichier Dcpromo.log, l’ordinateur en cours de promotion, \\computer_promoted, rencontre l'« erreur interne » dans l’Assistant Installation d’Active Directory lors de l’approvisionnement à partir de \\computer_source. Notez l’erreur 8442 qui se produit pendant la réplication d’un des trois contextes d’affectation de noms (« Le système de réplication a rencontré une erreur interne »). Cet exemple montre que l’erreur se produit sur le contexte d’affectation de noms de configuration :

MM/DD HH :MM :SS [INFO] Réplication CN=Configuration,DC=win2ktest,DC=A,DC=com : reçu 917 objets sur 1783.
MM/DD HH :MM :SS [INFO] Réplication de CN=Configuration,DC=win2ktest,DC=A,DC=com : reçu 1049 objets sur 1783.
MM/DD HH :MM :SS [INFO] Réplication de CN=Configuration,DC=win2ktest,DC=A,DC=com : reçu 1181 objets sur 1783.
MM/DD HH :MM :SS [INFO] Réplication de CN=Configuration,DC=win2ktest,DC=A,DC=com : reçu 1200 objets sur 1783.
Erreur MM/DD HH :MM :SS [INFO] : le service d’annuaire n’a pas pu répliquer la partition CN=Configuration,DC=test,DC=A,DC=com à partir du serveur distant computer_source.test.a.com. (8442)
MM/DD HH :MM :SS [INFO] NtdsInstall pour test.a.com retourné 8442
MM/DD HH :MM :SS [INFO] DsRolepInstallDs retournés 8442
MM/DD HH :MM :SS [ERROR] Échec de l’installation sur le service d’annuaire (8442)
MM/DD HH :MM :SS [INFO] Démarrage du service NETLOGON
MM/DD HH :MM :SS [INFO] Configuration du service NETLOGON sur 2 retourné 0
MM/DD HH :MM :SS [INFO] Recherche du compte d’ordinateur forcomputer_promotedon \computer_source.test.a.com...
MM/DD HH :MM :SS [INFO] Configuration du compte de serveur
MM/DD HH :MM :SS [INFO] NtdsSetReplicaMachineAccount retourné 0
MM/DD HH :MM :SS [INFO] Tentative de déplacement accountcomputer_sourceto CN=GAXGPTS01,CN=Computers,DC=test,DC=A,DC=com