Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article décrit les symptômes, la cause et les étapes de résolution pour les cas où les opérations AD échouent avec l’erreur Win32 8589.
Note
Utilisateurs à domicile : cet article est destiné uniquement aux agents de support technique et aux professionnels de l’informatique. Si vous recherchez de l’aide sur un problème, demandez à la Communauté Microsoft.
Numéro de base de connaissances d’origine : 2703028
Symptômes
Erreur 8589 : « La DS ne peut pas dériver un nom de principal de service (SPN) avec lequel authentifier mutuellement le serveur cible, car l’objet serveur correspondant dans la base de données DS locale n’a pas d’attribut serverReference.
Erreur symbolique : ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF
Vous verrez l’une des erreurs/avertissements suivants lors de la résolution des problèmes de réplication Active Directory.
DCDIAG signale que le test des réplications Active Directory a échoué avec l’état d’erreur (8589) : le DS ne peut pas dériver une ith de principal de service (SPN) qui permet d’authentifier mutuellement le serveur cible, car l’objet serveur correspondant dans la base de données DS locale n’a pas d’attribut serverReference.
L’exemple de texte d’erreur de DCDIAG est illustré ci-dessous :
Serveur de test : <nom du contrôleur de domaine de site><>
Test de démarrage : réplications
* Vérification des réplications
[Vérification des réplications,<Nom> du contrôleur de domaine] Une tentative de réplication récente a échoué :
Du contrôleur de domaine> source au contrôleur de <domaine de <destination>
Contexte de nommage : chemin d’accès DC=<DN>
La réplication a généré une erreur (8589) :
La DS ne peut pas dériver un nom de principal de service (SPN) avec lequel authentifier mutuellement le serveur cible, car l’objet serveur correspondant dans la base de données DS locale n’a pas d’attribut serverReference.
L’échec s’est produit à l’heure de <la date<>>.
Le dernier succès s’est produit à (jamais)| <date>.
DCDiag.exe affiche l’avertissement suivant :
Un événement d’avertissement s’est produit. EventID : 0x80000785
Heure générée : <DateTime>
Chaîne d’événement : échec de la tentative d’établissement d’un lien de réplication pour la partition d’annuaire accessible en écriture suivante.
Partition de répertoire :
DC=ForestDnsZones,DC=contoso,DC=com
Contrôleur de domaine source :
CN=Paramètres NTDS,CN=DCSRV01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=contosoDC=com
Adresse du contrôleur de domaine source :<source DC NTDS Settings Obejct GUID>._msdcs.contoso.com
Transport intersite (le cas échéant) :
Ce contrôleur de domaine ne pourra pas être répliqué avec le contrôleur de domaine source tant que ce problème n’est pas corrigé.Action de l’utilisateur
Vérifiez si le contrôleur de domaine source est accessible ou si la connectivité réseau est disponible.Données supplémentaires
Valeur d’erreur :
8589La DS ne peut pas dériver un nom de principal de service (SPN) avec lequel authentifier mutuellement le serveur cible, car l’objet serveur correspondant dans la base de données DS locale n’a pas d’attribut serverReference.
REPADMIN.EXE signale que la dernière tentative de réplication a échoué avec l’état 8589
REPADMINcommandes qui citent généralement l’état 8589, mais ne sont pas limitées à :REPADMIN /SHOWREPLREPADMIN /SHOWREPSREPADMIN /REPLSUMREPADMIN /SYNCALL
Repadmin /showrepl retourne l’erreur suivante :
Source : <Nom du site\<Nom> du contrôleur de domaine>
<n> ÉCHECS CONSÉCUTIFS depuis la <date et l’heure>
Dernière erreur : 8589 (0x218d) :
La DS ne peut pas dériver un nom de principal de service (SPN) avec lequel authentifier mutuellement le serveur cible, car l’objet serveur correspondant dans la base de données DS locale n’a pas d’attribut serverReference.
Événements dans le journal des événements des services d’annuaire qui citent l’état d’erreur 8589
Les événements, qui citent généralement le statut 8589, incluent, mais ne sont pas limités à :
Source d’événement et ID d’événement Chaîne de message Réplication NTDS / ActiveDirectory_DomainService 1411 Active Directory n’a pas pu construire un nom de principal de service d’authentification mutuelle (SPN) pour le contrôleur de domaine suivant. Réplication NTDS 2023 Le contrôleur de domaine local n’a pas pu répliquer les modifications apportées au contrôleur de domaine distant suivant pour la partition de répertoire suivante. NTDS KCC 1925 Échec de la tentative d’établissement d’un lien de réplication pour la partition d’annuaire accessible en écriture suivante.
Cause
L’événement se produit le plus souvent sur un contrôleur de domaine après qu’un partenaire de réplication a été rétrogradé avec force et repromoté avant d’autoriser la réplication de bout en bout. Cela peut également se produire lorsque vous renommez un contrôleur de domaine et que l’attribut serverReference n’est pas mis à jour. L’attribut serverReference de cette instance est l’objet serveur visible dans la console MMC sites et services Active Directory (adsiedit.msc). L’objet serveur est l’objet parent de l’objet NTDS Settings du contrôleur de domaine.
Résolution
Vérifiez que l’attribut serverReference n’est pas manquant ou défini sur une valeur incorrecte et mettez-le à jour vers la valeur correcte.
Recherchez le contrôleur de domaine référencé dans l’ID d’événement 1411. Il existe quelques options que nous pouvons utiliser pour trouver cela. Les simples sont d’utiliser ping (option A). En cas d’échec du test ping, utilisez PowerShell (option B). Si PowerShell n’est pas une option, vous pouvez utiliser ldp.exe (option C). (Remarque : si vos contrôleurs de domaine sont 2003 et que vous ne pouvez pas installer PowerShell sur celui-ci, vous pouvez utiliser PowerShell à partir d’un client joint à un domaine Windows 7 ou d’un serveur Windows 2008 ou Windows 2008 R2)
Option A
Utilisez NSLookup ou ping pour rechercher le contrôleur de domaine répertorié dans <les paramètres NTDS source Obejct GUID>._msdcs.contoso.comExemple :
Ping 3dab7f9b-92e7-4391-b8db-71df532c1493._msdcs.contoso.com
Pinging DCSRV02.contoso.com [IP] with 32 bytes of data : Reply from [IP]: bytes=32 time<1ms TTL=128 Reply from [IP]: bytes=32 time<1ms TTL=128 Reply from [IP]: bytes=32 time<1ms TTL=128 Reply from [IP]: bytes=32 time<1ms TTL=128Option B
Utilisez PowerShell pour rechercher le contrôleur de domaine référencé. Il existe deux méthodes PowerShell que vous pouvez utiliser. Pour ce faire, ouvrez le « Module Active Directory pour Windows PowerShell »Méthode 1 : Exécutez les deux applets de commande PowerShell suivantes. Dans la première applet de commande, remplacez le nom
CN=Configuration,DC=contoso,DC=comde la partition par le nom de domaine de votre partition de configuration. Remplacez le nomDCSRV01.contoso.comdu serveur par le nom de votre contrôleur de domaine. Dans la deuxième applet de commande, remplacez le GUID 3dab7f9b-92e7-4391-b8db-71df532c1493 par le GUID dans votre ID d’événement 1411.$list = Get-ADObject -Filter 'ObjectClass -eq "ntdsdsa"' -SearchBase '*CN=Configuration,DC=contoso,Dc=com*' -Server *DCSRV01.contoso.com* -includedeletedobjects -Properties * foreach ($dc in $list) {if ($dc.ObjectGUID -match "*3dab7f9b-92e7-4391-b8db-71df532c1493*") {Echo $dc.DistinguishedName }}Méthode 2 : Une autre option PowerShell consiste à exécuter les éléments suivants, puis à rechercher le fichier texte de sortie. Remplacez le
DCSRV01.contoso.comcontrôleur de domaine par un contrôleur de domaine dans votre environnement.Get-ADObject -Filter 'ObjectClass -eq "ntdsdsa"' -SearchBase 'CN=Configuration,DC=contoso,Dc=com' -Server DCSRV01.contoso.com -includedeletedobjects > C:\NTDSDSA.txtEnsuite, recherchez NTDSA.txt pour le GUID référencé dans l’ID d’événement 141
Option C
Utiliser Ldp.exe
- Cliquez sur Démarrer, puis sur Exécuter
- Tapez LDP.exe, puis appuyez sur Entrée.
- Dans le menu Connexions, cliquez sur Lier, puis sur OK.
- Dans le menu Affichage, cliquez sur Arborescence.
- Dans BaseDN, cliquez sur la flèche de liste déroulante, cliquez sur le nom unique de votre partition configuration, puis cliquez sur OK.
- Dans le menu Options, cliquez sur Contrôles.
- Dans la boîte de dialogue Contrôles, développez le menu Charger prédéfini, cliquez sur Retourner les objets supprimés, puis cliquez sur OK.
Note
Le contrôle 1.2.840.113556.1.4.417 s’affiche dans la liste Contrôles actifs.
- Dans le menu Parcourir, cliquez sur Rechercher
- Dans la zone DN de base, tapez :
CN=Sites, CN=Configuration,DC=contoso,DC=com(Remplacez contoso et com par le nom de domaine approprié.) - Dans la zone Filtre, tapez (objectClass=ntdsdsa)
- Dans la zone Étendue, sélectionnez Subtree
- Dans le type de zone Attributs, un * (astérisque)
- Cliquez sur Exécuter.
- Sur le côté droit, recherchez le GUID dans l’attribut objectGUID pour trouver le serveur auquel il fait référence.
Option D
- Obtenez
repadmin /showreplla sortie du contrôleur de domaine de destination signalant l’état 8589. - À l’aide de la
repadmin /showreplsortie obtenue à l’étape précédente, identifiez l’état de réplication 8589 dans la sortie et documentez la date et l’horodatage suivant le message De dernière tentative. - À l’aide de la date et de l’horodatage de l’étape précédente, recherchez l’ID d’événement correspondant 1411 dans le journal des événements services d’annuaire sur le contrôleur de domaine de destination. Notez que le GUID de l’objet DSA répertorié dans la
repadmin /showreplsortie est différent de ce qui est signalé dans l’ID d’événement 1411.( voir l’exemple de scénario ci-dessous) - Recherchez ensuite le contrôleur de domaine répertorié dans l’ID d’événement 1411, en vérifiant l’onglet Général des propriétés des paramètres NTDS ou en effectuant un test ping sur le GUID dans l’ID d’événement.
- Liez au contrôleur de domaine source à l’aide d’ADSIEDIT ou de Utilisateurs et ordinateurs Active Directory et ouvrez l’Éditeur d’attributs et copiez la valeur dans serverReference. Collez la valeur de cet attribut sur la copie des contrôleurs de domaine de destination de l’objet. (Étape 2)
Une fois que vous avez localisé le serveur référencé à l’aide de l’une des méthodes ci-dessus, procédez comme suit :
- Cliquez sur Démarrer, puis sur Exécuter
- Tapez ADSIEDIT.msc et appuyez sur Entrée
- Cliquez avec le bouton droit sur « ADSI Modifier », puis sélectionnez « Se connecter à... "
- Dans « Point de connexion » sous « Sélectionner un contexte d’affectation de noms connu : « sélectionner « Configuration », puis cliquez sur OK.
- Dans le volet gauche, développez « Configuration »
- Développez ensuite « CN=Configuration,DC=contoso,DC=com »
- Développez ensuite « CN=Sites »
- Sous CN=Sites, développez le site dans lequel se trouve le serveur. Exemple : Default-First-Site-Name
- Sous ce site, développez CN=Servers. Exemple : si DCSRV02 se trouve dans le site Default-First-Site-Name dans Contoso.com, vous devez être dans : CN=DCSRV02, CN=Servers, CN=Default-First-Site-Name, CN=Sites, CN=Configuration, DC=contoso, DC=com
- Cliquez avec le bouton droit sur le contrôleur de domaine (trouvé à l’aide de l’option A, B ou C) et sélectionnez Propriétés.
- Dans l’onglet « Éditeur d’attributs », faites défiler jusqu’à l’attribut serverReference.
- ServerReference doit être similaire à CN=DCSRV02,OU=Contrôleurs de domaine,DC=Contoso,DC=com s’il est manquant ou incorrect, puis remplacez-le par la valeur correcte.
- Fermer ADSIEDIT.msc
Plus d’informations
Exemple de scénario
Obtenez la sortie repadmin /showrepl du contrôleur de domaine de destination signalant l’état 8589.
À l’aide de la sortie repadmin /showrepl obtenue à l’étape précédente, identifiez l’état de réplication 8589 dans la sortie et documentez la date et l’horodatage suivant le dernier message de la tentative.
Repadmin /showreplsortie:Liverpool\LIVCONTOSODCDSA Options : IS_GC
Options de site : (aucun)
GUID de l’objet DSA : <GUID>DSA invocationID : <InvocationID>
==== VOISINS ENTRANTS ======================================
DC=Contoso,DC=com
Charlotte\CONTOSOROOTDC1 via RPC
GUID de l’objet DSA : <GUID>
La dernière tentative @ <DateTime> a réussi.
CN=Configuration,DC=Contoso,DC=com
Houston\5THWARDCORPDC via RPC
GUID de l’objet DSA : <GUID>
Dernière tentative @ <DateTime> a échoué, résultat 8589 (0x218d) :
La DS ne peut pas dériver un nom de principal de service (SPN) avec lequel authentifier mutuellement le serveur cible, car l’objet serveur correspondant dans la base de données DS locale n’a pas d’attribut serverReference.
1700 échecs consécutifs.
Dernier succès @ (jamais).
À l’aide de la date et de l’horodatage de l’étape précédente, recherchez l’ID d’événement correspondant 1411 dans le journal des événements services d’annuaire sur le contrôleur de domaine de destination. Notez que le GUID de l’objet DSA répertorié dans la sortie repadmin /showrepl est différent de ce qui est signalé dans l’ID d’événement 1411.
Journal des événements des services d’annuaire :
Nom du journal : service d’annuaire
Source : Microsoft-Windows-ActiveDirectory_DomainService
Date : <DateTime>
ID d’événement : 1411
Catégorie de tâche : client RPC DS
Niveau : Erreur
Mots clés : Classique
Utilisateur : LOGON ANONYME
Ordinateur : LIVCONTOSODC.Contoso.com
Description :
services de domaine Active Directory n’a pas pu construire un nom de principal de service d’authentification mutuelle (SPN) pour le service d’annuaire suivant.Service d’annuaire : <GUID>._msdcs.Contoso.com
L’appel a été refusé. La communication avec ce service d’annuaire peut être affectée.
Données supplémentaires
Valeur d’erreur :
8589 La DS ne peut pas dériver un nom de principal de service (SPN) avec lequel authentifier mutuellement le serveur cible, car l’objet serveur correspondant dans la base de données DS locale n’a pas d’attribut serverReference.
Cliquez sur Annuler, puis affichez les propriétés de l’objet serveur (5thWardCorpDC dans cet exemple) sélectionnez l’onglet Éditeur d’attributs (Server 2008 et versions ultérieures) ou utilisez ADSIEDIT pour modifier l’objet sur Server 2003
Notez que l’attribut serverReference n’est pas défini dans l’image suivante
Liez au contrôleur de domaine source à l’aide d’ADSIEDIT ou de Utilisateurs et ordinateurs Active Directory et ouvrez l’Éditeur d’attributs et copiez la valeur dans serverReference. Collez la valeur de cet attribut sur la copie des contrôleurs de domaine de destination de l’objet.
Une fois que l’attribut serverReference est défini correctement pour le contrôleur de domaine, il s’affiche comme suit :