| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| memo_windows [2025/02/28 20:27] – [ERREUR D'APPROBATION] huracan | memo_windows [2025/09/12 14:02] (Version actuelle) – [WSL MEMO] huracan |
|---|
| ---- | ---- |
| |
| ==== ERREUR D'APPROBATION ==== | ==== WSL MEMO ==== |
| |
| | wsl --export Debian "%userprofile%\Documents\wsl-debian-$today.tar.gz" |
| |
| IT-Connect » Cours - Tutoriels » Administration Systèmes » Windows Server » Active Directory » Windows : comment corriger l’erreur de relation d’approbation ? Voici plusieurs méthodes ! | wsl --import Debian12 wsl.localhost "%userprofile%\Documents\wsl-debian180825.tar" |
| |
| Active Directory - Windows - Erreur relation d'approbation au domaine | PS> wsl -l |
| Active Directory | Distributions du Sous-système Windows pour Linux : |
| Windows Client | Debian (par défaut) |
| Windows : comment corriger l’erreur de relation d’approbation ? Voici plusieurs méthodes ! | Debian12 |
| 03/10/2022 | |
| Florian BURNEL | |
| 6 commentaires | |
| Active Directory | |
| , | |
| Windows | |
| Sommaire [-] | |
| |
| I. Présentation | wsl -u user -d Debian12 |
| II. Le principe des mots de passe "ordinateurs" | |
| III. Dépannage - "La relation d’approbation entre cette station de travail et le domaine principal a échoué" | |
| A. La méthode manuelle | |
| B. La méthode PowerShell : Test-ComputerSecureChannel | |
| C. La méthode PowerShell bis : Reset-ComputerMachinePassword | |
| D. La méthode netdom | |
| IV. Conclusion | |
| 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. | |
| |
| YouTube video player | wsl --set-default Debian12 |
| Ezoic | |
| 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". | |
| |
| La relation d’approbation entre cette station de travail et le domaine principal a échoué | wsl --unregister Debian |
| |
| Windows 11 - Relation approbation erreur | |
| |
| II. Le principe des mots de passe "ordinateurs" | ---- |
| Ezoic | |
| 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. | ==== ERREUR D'APPROBATION ==== |
| | |
| Active Directory - Mot de passe des ordinateurs - 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... | === La méthode manuelle === |
| |
| Ezoic | |
| 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 : | 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 : |
| |
| 2 - Se connecter en administrateur local | 2 - Se connecter en administrateur local |
| |
| Ezoic | |
| 3 - Retirer l'ordinateur du domaine | 3 - Retirer l'ordinateur du domaine |
| |
| Remove-Computer -UnjoinDomaincredential IT-Connect\Admin -PassThru -Verbose -Restart | #Remove-Computer -UnjoinDomaincredential IT-Connect\Admin -PassThru -Verbose -Restart |
| 4 - Réinitialiser l'objet ordinateur dans l'Active Directory | 4 - Réinitialiser l'objet ordinateur dans l'Active Directory |
| |
| 7 - Ajouter l'ordinateur au domaine | 7 - Ajouter l'ordinateur au domaine |
| |
| Add-Computer -DomainName it-connect.local -Restart | #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 | Le principal inconvénient de cette méthode, c'est qu'elle implique une présence physique. |
| |
| Ezoic | === 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 : | 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 | #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 : | |
| | Il est également possible de cibler un contrôleur de domaine spécifique: |
| | |
| | #Test-ComputerSecureChannel -Server "SRV-ADDS.it-connect.local" |
| |
| 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. | 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 florian@it-connect.local | #Test-ComputerSecureChannel -Repair -Credential florian@it-connect.local |
| On peut aussi faire : | On peut aussi faire : |
| |
| Test-ComputerSecureChannel -Repair -Credential (Get-Credential) | #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. | 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 : | Puisque c'est du PowerShell, on peut aussi agir à distance sur une ou plusieurs machines avec Invoke-Command: |
| | |
| | #Invoke-Command -ComputerName PC-01 -ScriptBlock { Test-ComputerSecureChannel } |
| |
| 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. | 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. |
| |
| Microsoft Learn - Test-ComputerSecureChannel | #Microsoft Learn - Test-ComputerSecureChannel |
| 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. | === La méthode PowerShell bis : Reset-ComputerMachinePassword === |
| | |
| | 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. | Là encore, cette commande s'exécute depuis l'ordinateur où se situe l'erreur. |
| | |
| | Voici comment s'utilise cette commande : |
| | |
| | #Reset-ComputerMachinePassword -Credential florian@it-connect.local |
| | |
| | On peut également préciser le nom du contrôleur de domaine cible : |
| | |
| | #Reset-ComputerMachinePassword -Credential florian@it-connect.local -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. |
| | |
| | #Microsoft Learn - Reset-ComputerMachinePassword |
| |
| ---- | ---- |
| |
| #Test-Netconnection -Computername 10.210.64.30 -Port 1556 | #Test-Netconnection -Computername 10.210.64.30 -Port 1556 |
| | ou |
| | #tnc 10.210.64.30 -p 443 |
| |
| Dans CMD: | Dans CMD: |
| |
| De plus, exemple d'analyse de packet SMB avec "pktmon" dans PS ou CMD: | De plus, exemple d'analyse de packet SMB avec "pktmon" dans PS ou CMD: |
| | |
| | [[https://rickardnobel.se/pktmon-the-native-windows-packet-capture-tool-part-1/|tuto pktmon]] |
| |
| pktmon filter add -p 445 | pktmon filter add -p 445 |
| |
| Vous pouvez désormais lancer l’installation normalement, la VM s’activera correctement | Vous pouvez désormais lancer l’installation normalement, la VM s’activera correctement |
| | |
| | |
| | ---- |
| | |
| | ==== BYPASS CLOUD ACCOUNT ==== |
| | |
| | Pour bypasser le compte cloud à l'instal de windows: |
| | |
| | FAIRE shift+F10 puis, |
| | #reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE /v BypassNRO /t REG_DWORD /d 1 /f |
| | #shutdown /r /t 0 |
| | |
| | Ou: |
| | |
| | #oobe\bypassnro.cmd |
| | |
| | Ou: |
| | |
| | #start ms-cxh:localonly |
| |
| |