Eens waren de meest voorkomende problemen die Windows-systeembeheerders teisteren, vertrouwde, Active Directory-computers die schijnbaar van het domein vallen. De beruchte foutmelding “de vertrouwensrelatie tussen deze werkplek en het primaire domein is mislukt” is helaas al te bekend.
In deze gids leer je elke truc die ik ben tegengekomen tijdens mijn meer dan 20 jaar beheer van Active Directory en hoe je het kunt automatiseren met PowerShell.
“De vertrouwensrelatie tussen deze werkplek en het primaire domein is mislukt” Foutmelding
Als een AD-domein niet langer een computer vertrouwt, komt dat waarschijnlijk doordat het wachtwoord van de lokale computer niet overeenkomt met het wachtwoord dat is opgeslagen in Active Directory.

De twee wachtwoorden moeten gesynchroniseerd zijn voor AD om een computer te vertrouwen. Als ze niet gesynchroniseerd zijn, ontvang je de beruchte foutmelding “de vertrouwensrelatie tussen deze werkplek en het primaire domein is mislukt”.
Helaas is er nooit een enkele oplossing geweest die ikzelf en andere systeembeheerders hebben gevonden die 100% van de tijd werkt. Daarom heb ik deze gids geschreven.
Deze gids is bedoeld als een enkele bron voor elke mogelijke manier om dit probleem eenmaal voor altijd op te lossen en om het proces te automatiseren met PowerShell.
Wachtwoorden van Active Directory-computeraccounts
Wanneer een nieuwe computer aan Active Directory wordt toegevoegd, wordt er een computeraccount aangemaakt met een wachtwoord. Dat wachtwoord is standaard 30 dagen geldig. Na 30 dagen wordt het automatisch gewijzigd. Als het wijzigt en het wachtwoord van de client niet, krijg je de foutmelding “de vertrouwensrelatie tussen deze werkstation en het primaire domein is mislukt”.
Bestaande beleidsregels bekijken
Je kunt het domeinbrede beleid bekijken door de Group Policy Management Console (GPMC) te openen. Klik binnen de GPMC op het Standaarddomeinbeleid, en navigeer naar Computerconfiguratie –> Windows-instellingen –> Beveiligingsinstellingen > Lokale beleidsregels > Beveiligingsopties.
Eenmaal in Beveiligingsopties, zoek naar het beleid genaamd Domain member: Maximum machine account password age.

Op een computer die aan AD is gekoppeld, open je regedit en navigeer je naar de registerwaarde HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters en zoek je de waarde MaximumPasswordAge zoals hieronder weergegeven.

Terwijl je daar bent, kun je voorkomen dat de lokale computer het wachtwoord helemaal wijzigt door de waarde DisablePasswordChange in te stellen op 1.
Wanneer het computeraccount verandert, moeten zowel de lokale computer als het AD-computeraccount tegelijkertijd hun wachtwoorden wijzigen. AD kent het huidige wachtwoord en het vorige wachtwoord voor het geval ze gedurende een korte periode niet synchroon lopen.
Het proces van het wijzigen van het computeraccountwachtwoord
wanneer alles normaal werkt, initieert de computer via de netlogon windows-service automatisch een wachtwoordwijziging. dit gebeurt tijdens het opnieuw opstarten van de computer of wanneer het computerobject zich moet authenticeren bij ad.
met behulp van de netlogon windows-service initieert de lokale computer een wachtwoordwijzigingssequentie. de computer start eerst een wachtwoordwijziging op een domeincontroller. als dat succesvol is, probeert het vervolgens het lokale wachtwoord te wijzigen om overeen te komen met de hklm\security\policy\secrets<hostname>.acc registersleutel.
dit proces werkt normaal gesproken prima, zelfs als de computer is uitgeschakeld of offline is geweest voor langer dan 30 dagen, omdat de lokale computer een wachtwoordwijziging initieert.
er doet zich echter een probleem voor wanneer:
- de computer het ad-computeraccount wijzigt maar niet in staat is het lokale wachtwoord te wijzigen
- de computer opnieuw wordt geïmaged zonder sysprep uit te voeren
- het besturingssysteem opnieuw wordt geïnstalleerd en probeert te authenticeren met het oude, ingeschakelde ad-computeraccount
- …en meer?
als een van bovenstaande situaties zich voordoet, zult u de foutmelding “de vertrouwensrelatie tussen deze werkplek en het primaire domein is mislukt” zien.
probleemverificatie
zodra u weet dat het probleem bestaat, hoe kunt u het repliceren of op zijn minst een methode hebben om te bepalen welke computers het probleem hebben? u kunt proberen om interactief in te loggen op elke computer, maar dat is niet schaalbaar en ik wil niet opstaan van mijn bureau!
Laten we een script maken dat zowel lokaal als op afstand kan worden uitgevoerd om te bepalen welke computers in het domein dit probleem hebben, om de foutmelding “De vertrouwensrelatie tussen deze werkstation en het primaire domein is mislukt” voorgoed te verhelpen.
Ten eerste, aangezien we ervan uitgaan dat domeinverificatie niet werkt, moet je een lokaal gebruikersaccount in de groep administrators weten. Ik hoop dat je het wachtwoord van je lokale beheerder kent!
nltest (Opdrachtregelgereedschap)
nltest is een ouderwets opdrachtregelgereedschap dat een vertrouwensrelatie voor een computer zal testen. Dit gereedschap wordt geïnstalleerd wanneer je RSAT installeert of is direct beschikbaar op een domeincontroller.
Je kunt een vertrouwensrelatie op een computer verifiëren wanneer je bent aangemeld op de computer door het volgende uit te voeren:
WAARSCHUWING: Deze methode wordt niet aanbevolen omdat nltest alleen werkt in de gebruikerscontext waarin het is gestart. Als de computer een verbroken vertrouwen heeft en je bent aangemeld als een lokale gebruiker, zal het proberen verbinding te maken met het domein met de referenties van de lokale gebruiker. Dit resulteert in een toegangsweigering.
netdom (Opdrachtregelgereedschap)
Netdom is een ander commandoregelhulpprogramma dat u kunt gebruiken om een vertrouwensrelatie te verifiëren. Dit hulpprogramma is ook geïnstalleerd wanneer u RSAT installeert of is rechtstreeks beschikbaar op een domeincontroller.
U kunt een vertrouwen verifiëren met behulp van netdom verify
door het volgende te verstrekken:
- de naam van de computer om te controleren
- FQDN van het domein
- gebruikersnaam om het verzoek te authenticeren
- wachtwoord van het gebruikersaccount
Hieronder staat een voorbeeld:
Door de waarde van *
te verstrekken aan de parameter PasswordO
, zal netdom om het wachtwoord vragen.
Test-ComputerSecureChannel (PowerShell)
Een van de beste manieren om het probleem “de vertrouwensrelatie tussen deze werkstation en het primaire domein is mislukt” op te lossen, is door de Test-ComputerSecureChannel
-cmdlet te gebruiken. Deze PowerShell-cmdlet wordt geleverd bij Windows 10 en is eenvoudiger te gebruiken.
De cmdlet Test-ComputerSecureChannel
werkt lokaal op een Windows 10-computer. Wanneer je interactief bent ingelogd op de computer, open je een PowerShell-console en voer je Test-ComputerSecureChannel
uit zonder parameters. Het zal True of False retourneren, afhankelijk van of het vertrouwen geldig is.
Je kunt ook een specifieke domeincontroller opgeven om te bevestigen dat de wachtwoorden gesynchroniseerd zijn met behulp van de Server
-parameter.
Deze cmdlet is eenvoudig te gebruiken en heeft een Repair
-optie, maar we zullen een demonstratie hiervan bewaren voor het gedeelte over het repareren.
Als je het lokale beheerderswachtwoord van die computers kent die je wilt controleren en PowerShell Remoting is ingeschakeld op die computers, kun je ook de Invoke-Command
cmdlet gebruiken. Door de Invoke-Command
-cmdlet te gebruiken, kun je Test-ComputerSecureChannel
op één of meerdere computers tegelijkertijd op afstand uitvoeren.
Vertrouwensrelaties in bulk controleren
Nu je weet hoe je op afstand een vertrouwensrelatie kunt controleren, is hier een codefragment dat je kunt gebruiken om alle computers in je AD te controleren! In dit script test ik eerst om te controleren of de computer online is. Zo niet, dan wordt Offline geretourneerd. Zo ja, dan wordt Test-ComputerSecureChannel
uitgevoerd op elke computer en wordt er ofwel True of False geretourneerd.
Het kennen en begrijpen van het probleem is de eerste stap, maar hoe los je het op? Je weet nu dat je de computeraccount op de lokale computer moet krijgen zoals de computeraccount die in AD is opgeslagen.
Er zijn veel verschillende “oplossingen” beschikbaar voor het probleem “de vertrouwensrelatie tussen deze werkstation en het primaire domein is mislukt”. Deze oplossingen kunnen worden uitgevoerd via de GUI, via PowerShell, of via ouderwetse command-line tools.
- Reset het computeraccountwachtwoord in AD
- Het lokale computeraccountwachtwoord opnieuw instellen
- Ontkoppel en koppel de Windows-computer opnieuw aan
- Verwijder het computeraccount volledig en koppel de Windows-computer opnieuw aan
Dat zijn veel opties! In deze handleiding gaan we ons richten op het oplossen van dit probleem met PowerShell en command-line tools (voor volledigheid). Als je PowerShell nog niet gebruikt, zou je dat moeten doen!
Het Probleem Oplossen: Computerwachtwoorden Resetten
netdom (Command-Line Tool)
A trust can be repaired and the “the trust relationship between this workstation and the primary domain failed” error message can be eliminated by using the old-school netdom command-line tool. If you’re logged into the computer locally as an administrative user, you can run netdom resetpwd to initiate the password reset sequence as shown below.
In dit voorbeeld:
- DC is de naam van de domeincontroller
- abertram is de naam van het Active Directory-gebruikersaccount met rechten om het computeraccount te resetten
- * is een aanduiding voor het wachtwoord van het gebruikersaccount waarom wordt gevraagd.
Reset-ComputerMachinePassword (PowerShell)
Een van de beste manieren om een vertrouwensrelatie te herstellen is door de Reset-ComputerMachinePassword
cmdlet te gebruiken. Deze cmdlet wordt uitgevoerd op de lokale computer en zal een wachtwoordresetreeks starten. De syntaxis ervan kan niet eenvoudiger.
Als je een specifieke DC wilt opgeven om te resetten, kun je dit aangeven met de Server
-parameter samen met een optioneel referentie (het zal standaard het lokale gebruiker zijn).
Het onderstaande voorbeeld zal vragen om een AD-gebruikersnaam en wachtwoord en zal proberen het wachtwoord op de lokale computer en de domeincontroller van DC opnieuw in te stellen.
Dit kan ook op afstand worden uitgevoerd door Invoke-Command
te gebruiken als PowerShell Remoting beschikbaar is op de computer. Hieronder verkrijg ik de gebruikersnaam en het wachtwoord voor het lokale beheerdersaccount op de computer. Ik verkrijg ook de referenties die rechten hebben om het wachtwoord van het AD-account van deze computer opnieuw in te stellen. Vervolgens geef ik $domainCredential
door aan de externe sessie met behulp van de $using
-constructie.
Merk op dat dit ook werkt zelfs als het computeraccount uit Active Directory is verwijderd. Maak een computeraccount met dezelfde naam aan en
Reset-ComputerMachinePassword
zorgt ervoor dat het wachtwoord wordt gesynchroniseerd.
Wachtwoord van lokale computeraccounts in bulk opnieuw instellen
Wilt u snel die “de vertrouwensrelatie tussen deze werkstation en het primaire domein is mislukt” fout oplossen voor veel computers tegelijk? Geen probleem. Met behulp van een handige foreach-lus kunnen we ook Reset-ComputerMachinePassword
in bulk uitvoeren.
Test-ComputerSecureChannel -Repair (PowerShell)
Een andere manier om het proces voor het wijzigen van het wachtwoord te starten, is door Test-ComputerSecureChannel
uit te voeren, maar deze keer met de Repair
-optie. Voor zover ik kan zien, is dit proces identiek aan het gebruik van Reset-ComputerMachinePassword
. Gebruik op de computerconsole de Repair
-parameter en de Credential
-parameter.
Zorg ervoor dat je hier altijd de Credential
-parameter gebruikt. Als je dat niet doet, vergelijkbaar met het nltest-hulpprogramma, zal het proberen om het lokale account te gebruiken en niet werken.
Bulkherstel van vertrouwensrelaties
Voeg deze opdracht toe aan de handige foreach-lus die we gebruiken en klaar is Kees!
Het probleem oplossen: Opnieuw toetreden tot het domein
Als het opnieuw instellen van de computeraccountwachtwoorden niet voor je werkt, is er altijd de nucleaire optie. Je kunt een computer opnieuw aanmelden bij het Active Directory-domein. Hoewel dit niet altijd nodig is, zijn er momenten geweest dat ik deze aanpak moest gebruiken.
Merk op dat ik heb gehoord dat een loskoppeling niet nodig is. Je kunt er misschien mee wegkomen door gewoon een nieuwe aanmelding te forceren. Jouw ervaring kan verschillen.
Je zou kunnen:
- inloggen op de computer via een lokaal beheerdersaccount
- ga naar Systeemeigenschappen
- klik op Wijzigen
- zet het naar een werkgroep
- herstarten
- zet het terug naar het domein
Merk op dat ik zou kunnen noem. Doe dit niet. Het is een verspilling van je tijd als je het kunt automatiseren met PowerShell.
Er zijn twee manieren die ik heb gevonden om PowerShell te gebruiken om een domein los te maken en PowerShell te gebruiken om lid te worden van een domein.
Met behulp van CIM
Je kunt een domein met PowerShell toevoegen (en losmaken) met behulp van de CIM-klasse Win32_ComputerSystem. Deze klasse heeft twee methoden waarmee je een computer kunt losmaken en toevoegen aan een domein genaamd UnJoinDomainOrWorkgroup()
en JoinDomainOrWorkGroup
.
Aangezien dit CIM is, kun je dit net zo gemakkelijk op afstand uitvoeren als lokaal. Omdat ik ervan uitga dat je dit liever op afstand uitvoert vanaf het comfort van je bureau, hier is een codefragment dat precies dat doet.
“de vertrouwensrelatie tussen deze werkstation en het primaire domein is mislukt” fout verdwijnt!
Let op de parameter FUnjoinOptions
hierboven. Ik heb ervoor gekozen om hier 4 te specificeren. Dit voert het standaardgedrag uit bij het losmaken van een computer handmatig. Deze optie schakelt het computeraccount uit in Active Directory (als het er een kan vinden). Als je liever niet wilt dat dit gebeurt, kun je hier optie 0 gebruiken.
Zodra de computer is losgemaakt, kun je vervolgens opnieuw lid worden van het domein met de methode JoinDomainOrWorkGroup()
.
Let op de parameter FJoinOptions
hierboven. Ik heb ervoor gekozen om hier 3 te specificeren. Dit voert het standaardgedrag uit bij het handmatig toevoegen van een computer. Deze optie maakt een AD-computeraccount aan. U kunt enkele andere opties vinden, zoals toevoegen aan een specifieke OU via de documentatie van JoinDomainOrWorkgroup.
TIP: U kunt ook veel computers in één keer loskoppelen en opnieuw koppelen via deze methode door meerdere computers te specificeren via de parameter
ComputerName
opGet-CimInstance
.
Gebruik van de Remove-Computer en Add-Computer Cmdlets
U kunt ook ingebouwde PowerShell-cmdlets gebruiken om een computer los te koppelen en aan te sluiten bij een domein met PowerShell. U kunt de cmdlets Remove-Computer
en Add-Computer
gebruiken.
Om een computer te scheiden met PowerShell, log in op de computerconsole en gebruik de Remove-Computer
cmdlet. Geef de domeinreferenties op met de nodige rechten om de computer te scheiden. Je kunt ook de Restart
-parameter specificeren om een herstart af te dwingen na het scheiden en Force
om geen bevestiging te vragen.
Nadat de computer opnieuw is opgestart, kun je de Add-Computer
cmdlet gebruiken om de computer met PowerShell aan het domein toe te voegen. Je kunt de Add-Computer
cmdlet ook op afstand gebruiken door de ComputerName
-parameter op te geven. Gebruik lokale gebruikersreferenties om de verbinding te maken en domeinreferenties om te authenticeren bij het domein.
Als het weer is opgestart, hoop ik dat je niet langer de foutmelding “de vertrouwensrelatie tussen deze werkstation en het primaire domein is mislukt” krijgt.
Automagisch Domein Scheiden en Opnieuw Toetreden
Omdat ik dit proces veel te vaak moest doorlopen, heb ik een PowerShell-script gemaakt dat alles voor je doet. Als je de naam van de computer opgeeft, zal het:
- De computer scheiden
- Herstarten en wachten tot deze weer is opgestart
- De computer toevoegen
- Herstarten en wachten tot deze weer is opgestart
Je kunt dit script uitproberen via GitHub.
Samenvatting
U zou nu een volledig begrip van het probleem moeten hebben en meerdere oplossingen voor de beruchte “De vertrouwensrelatie tussen deze werkstation en het primaire domein is mislukt”-foutmelding. Ik hoop dat deze gids u enkele inzichten heeft gegeven en u in staat heeft gesteld om zelf enkele oplossingen te bedenken voor het probleem van computers die van het domein vallen!
Verder lezen
Zorg ervoor dat u enkele andere gerelateerde berichten bekijkt!