Windows : comment corriger l’erreur de relation d’approbation ? Voici plusieurs méthodes !
Sommaire
I. Présentation
Pour les administrateurs de parcs informatiques sous Windows avec des machines intégrées à un domaine Active Directory, le message d'erreur "La relation d’approbation entre cette station de travail et le domaine principal a échoué" est un grand classique. Le type d'erreur que l'on rencontre tous au moins une fois, même si l'on aimerait bien s'en passer ! Il existe diverses pistes et solutions pour se sortir de se pétrin... Notamment, manuellement via l'interface graphique, mais aussi en ligne de commande.
Dans ce tutoriel, je vais répondre à une question simple : comment corriger l'erreur "La relation d’approbation entre cette station de travail et le domaine principal a échoué" ? Sur une machine en anglais, le message d'erreur correspondant est "The trust relationship between this workstation and the primary domain failed".
II. Le principe des mots de passe "ordinateurs"
Lorsqu'une machine Windows est intégrée à un domaine Active Directory, un objet appartenant à la classe "computer" est créé dans l'annuaire. Cet objet est alors un compte d'ordinateur pour la machine en question. Au-delà du nom, il y a un mot de passe qui est associé à ce compte : ce mot de passe est connu de la machine Windows et de l'annuaire Active Directory. Par défaut, ce mot de passe est valide pour une durée de 30 jours. Au bout de 30 jours, il est renouvelé automatiquement, sans aucune action de votre part.
En modifiant une stratégie de groupe sur votre environnement, par exemple la GPO "Default Domain Policy" qui est native, vous pourrez retrouver le paramètre "Membre de domaine : ancienneté maximale du mot de passe du compte ordinateur" qui montre que la valeur par défaut est de 30 jours.
Quand ce message d'erreur se produit, c'est comme si la confiance entre les deux parties avait soudainement disparu. Dans de nombreux cas, cela s'explique par le fait que le mot de passe de l'ordinateur local (la machine Windows intégrée dans l'AD) ne correspond pas au mot de passe stocké dans l'Active Directory. Autrement dit, le renouvellement du mot de passe ne s'est pas passé comme prévu...
Le renouvellement du mot de passe est initié par la machine Windows, à partir du service Netlogon. Cette opération s'effectue au démarrage, ou au moment de s'authentifier auprès du contrôleur de domaine. Le mot de passe est alors stocké dans le Registre Windows sous "HKLM\SECURITY\Policy\Secrets". De son côté, l'Active Directory stocke également ce nouveau secret. Dans une très grande majorité des cas, ce processus s'effectue correctement : heureusement, sinon tous les 30 jours ce serait infernal.
Parfois, cette opération échoue et l'erreur "La relation d’approbation entre cette station de travail et le domaine principal a échoué" se produit ! Il arrive même que sur une même machine, cette erreur revienne assez régulièrement. Je pense qu'il y a plusieurs erreurs qui peuvent se produire, plusieurs cas différents, pour en arriver à ce message. Par exemple, si le mot de passe est bien actualisé dans l'Active Directory mais pas dans la base locale : on se retrouve avec un secret différent. Cela peut se produire aussi si l'objet correspondant à cet ordinateur est supprimé de l'Active Directory.
Voilà, le décor est posé, maintenant nous allons voir quelques méthodes basées sur PowerShell pour corriger cette erreur. Je préfère donner plusieurs pistes, au cas où une méthode ne s'applique pas, vous pouvez en essayer une autre.
III. Dépannage - "La relation d’approbation entre cette station de travail et le domaine principal a échoué"
A. La méthode manuelle
La méthode manuelle est connue de beaucoup d'administrateur système. Elle fonctionne, mais elle n'est pas pratique, car elle nécessite de déconnecter la machine du réseau. Elle consiste à réaliser les actions suivantes sachant que l'objectif est de retirer la machine du domaine et de la réintégrer :
1 - Déconnecter l'ordinateur du réseau
2 - Se connecter en administrateur local
3 - Retirer l'ordinateur du domaine
Remove-Computer -UnjoinDomaincredential IT-Connect\Admin -PassThru -Verbose -Restart
4 - Réinitialiser l'objet ordinateur dans l'Active Directory
5 - Redémarrer l'ordinateur
6 - Reconnecter le câble réseau
7 - Ajouter l'ordinateur au domaine
Add-Computer -DomainName it-connect.local -Restart
Le principal inconvénient de cette méthode, c'est qu'elle implique une présence physique puisqu'il faut déconnecter la machine du réseau. Pour sortir la machine du domaine et l'ajouter de nouveau, on peut utiliser l'interface graphique de Windows ou les commandes PowerShell "Remove-Computer" et "Add-Computer".
B. La méthode PowerShell : Test-ComputerSecureChannel
Depuis plusieurs années, il est possible de corriger cette erreur avec PowerShell ! Une très bonne nouvelle, car ça veut dire qu'on peut le faire à distance, donc c'est beaucoup plus pratique. La commande Test-ComputerSecureChannel existe depuis Windows 10, elle est toujours disponible sur Windows 11. Personnellement, je vous recommande cette méthode.
Sur une machine où la relation d'approbation est cassée, il faut se connecter et exécuter simplement cette commande dans une console PowerShell :
Test-ComputerSecureChannel
Il est également possible de cibler un contrôleur de domaine spécifique, comme on le fait avec les commandes du module Active Directory. Par exemple :
Test-ComputerSecureChannel -Server "SRV-ADDS.it-connect.local"
Cette commande retourne simplement true (vrai) ou false (faux) pour indiquer l'état de la relation d'approbation entre l'ordinateur et l'annuaire (avec le paramètre -Verbose). Dans le cas où vous avez l'erreur de relation d'approbation, la commande retournera "false". De ce fait, il faudra ajouter le paramètre -Repair qui permet de réparer la relation d'approbation ainsi que les identifiants.
Test-ComputerSecureChannel -Repair -Credential [email protected]
On peut aussi faire :
Test-ComputerSecureChannel -Repair -Credential (Get-Credential)
En ce qui concerne le compte utilisateur, il peut s'agir d'un compte Administrateur ou tout simplement d'un compte qui a le droit d'ajouter des machines au domaine Active Directory.
Puisque c'est du PowerShell, on peut aussi agir à distance sur une ou plusieurs machines avec Invoke-Command. Voici un exemple :
Invoke-Command -ComputerName PC-01 -ScriptBlock { Test-ComputerSecureChannel }
Note : que ce soit avec cette méthode ou la méthode qui va suivre, si l'objet ordinateur n'existe pas dans l'Active Directory, il vaut mieux le créer avant. Avec la console "Utilisateurs et ordinateurs Active Directory" (ou une autre méthode), effectuez un clic droit "Nouveau" puis "Ordinateur". Attribuez le même nom.
C. La méthode PowerShell bis : Reset-ComputerMachinePassword
Lorsque l'erreur se produit, il y a une seconde commande PowerShell qui peut rendre service pour se sortir d'affaire : Reset-ComputerMachinePassword, disponible avec Windows PowerShell 5.1. Cette commande permet de réinitialiser le mot de passe du compte ordinateur de la machine locale.
Là encore, cette commande s'exécute depuis l'ordinateur où se situe l'erreur.
Voici comment s'utilise cette commande :
Reset-ComputerMachinePassword -Credential [email protected]
On peut également préciser le nom du contrôleur de domaine cible :
Reset-ComputerMachinePassword -Credential [email protected] -Server "SRV-ADDS.it-connect.local"
L'opération sera automatique, ce n'est pas à vous de définir le mot de passe. Cette méthode permet aussi de corriger l'erreur d'approbation.
D. La méthode netdom
Netdom est un outil qui existe depuis très longtemps sur Windows, avant même que PowerShell pointe le bout de son nez. Il permet aussi de réinitialiser le mot de passe du compte ordinateur à partir de la ligne de commande.
Voici un exemple où je contacte le contrôleur de domaine "SRV-ADDS", en utilisant le compte "florian" et sans préciser le mot de passe en clair (d'où le "*").
netdom resetpwd /s:SRV-ADDS /ud:florian /pd:*
IV. Conclusion
Voilà, nous venons voir différentes manières de corriger l'erreur "La relation d’approbation entre cette station de travail et le domaine principal a échoué" sur vos machines Windows ! Avec PowerShell pour les machines récentes, et avec netdom (ou la méthode manuelle) pour les machines avec des systèmes plus anciens, car on le sait tous qu'il y en a encore en circulation !
Si vous connaissez une autre méthode, n'hésitez pas à nous en faire part avec un commentaire ! 🙂
Pour ma part je préfère passer par la console SystemPropertiedAdvanced / nom de l’ordinateur puis modifier. Si le poste est enregistré avec le nom dns du domaine je modifie pour utiliser le nom Netbios et inversement.
Sinon je passe la l’assistant Identité sur le réseau.
Bonjour, j’ai essayé toutes les méthodes, mais la réponse est invariablement : exception , le serveur n’est pas opérationnel …. une idée ?
Bonjour,
Mon problème c’est que j’ai deux Pc avec le même Nom j’ai corrigé le nom du deuxieme PC mais le premier PC n’arrive plus a se connecté avec l’erreur « La relation d’approbation entre cette station de travail et le domaine principal a échoué »
même Powershell ne démarre pas en mode administrateur de domaine il affiche le même message d’erreur.
y a t’il une solution à ce problème
Merci
Bjr, suivez les étapes ci-dessous:
-allez sur le serveur AD->utilisateurs et ordinateurs AD->Computers
-supprimer l’ordinateur de la liste qui correspond(hostname) à votre 1er PC;
-Aller sur votre 1er PC;
-Modifier le nom de votre 1er PC dans les paramètres avancées
-Valider et redémarrer votre PC;
Merci pour cet article qui m’a bien sauvé.
Un détail cependant, il m’a été impossible de traiter l’ensemble des postes affectés via Invoke-Command dans la mesure où.. bah… il n’y avait plus de relation d’approbation…
Mais le gain de temps, quoi… MERCI !