In this article, we’ll discuss the causes for the Trust relationship failed error. This guide covers possible solutions on how to restore a secure channel between the workstation and the Active Directory domain.
In what case you can face this error? For example, when a user is trying to login to a workstation or server with domain account credentials. After entering the username and password a window appears (with an error message):
The trust relationship between this workstation and the primary domain failed
Or the error looks like this:
The security database on the server does not have a computer account for this workstation trust relationship
At the same time, events with EventID 5719 with the source NETLOGON appear in the System section of the Event Viewer:
This computer was not able to set up a secure session with a domain controller in domain “” due to the following:
There are currently no logon servers available to service the logon request. This may lead to authentication problems. Make sure that this computer is connected to the network. If the problem persists, please contact your domain administrator.
If this computer is a domain controller for the specified domain, it sets up the secure session to the primary domain controller emulator in the specified domain. Otherwise, this computer sets up the secure session to any domain controller in the specified domain.
Let’s try to understand what does this error means and how to fix it.
Active Directory Machine Account Password
When you join the computer to the Active Directory domain, the new computer account is created for your device and a password is set for it (like for AD users). Trust relationship at this level is provided by the fact that the domain join is being performed by a Domain administrator. Or another user with delegated administrative permissions performed the join.
Each time the domain computer logs in to the AD domain, it establishes a secure channel with the nearest domain controller (%logonserver% environment variable). DC sends the computer credentials. In that case, the trust is established between the workstation and domain. Further interaction occurs according to administrator-defined security policies.
The computer account password is valid for 30 days (by default), and then changes. You must keep in mind that the computer changes the password according to the configured domain Group Policy. This is like a changing user’s password process.
Tip. You can configure the maximum account password age for domain computers using the GPO parameter Domain member: Maximum machine account password age. It is located in the following Group Policy editor section: Computer Configuration > Windows Settings > Security Settings > Local Policies > Security Options. You can specify the number of days between 0 and 999 (by default it is 30 days).
You can configure the machine account password policy for a single computer through the registry.
To do this, run regedit.exe and go to the HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters registry key. Edit the parameter MaximumPasswordAge and set the maximum validity time of the computer password in the domain (in days).
Another option is to completely disable the computer account password change. Do this by setting the REG_DWORD parameter DisablePasswordChange to 1.
You can also change the computer password change settings for a domain using Group Policy. The settings for changing computer account passwords are located under the section Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > Security Options. We are interested in the following parameters:
- Domain member: Disable machine account password changes — disables the request to change the password on the local computer;
- Domain member: Maximum machine account password age — defines the maximum age for a computer password. This parameter determines the frequency with which a domain member will try to change the password. By default, the period is 30 days; the maximum can be set to 999 days;
- Domain controller: Refuse machine account password changes — disallows password changes on domain controllers. If you enable this option, then the controllers will reject requests from computers to change the password.
The Active Directory domain stores the current computer password, as well as the previous one. If the password was changed twice, the computer that uses the old password won’t be able to authenticate on the domain controller. It won’t establish a secure connection channel.
The computer account passwords don’t expire in Active Directory. This is happening because the Domain Password Policy doesn’t apply to the AD Computer objects. Your computer can use the NETLOGON service to change the password during the next domain logon. This is possible if its password is older than 30 days. Note that the local computer password is not managed by AD, but by the computer itself.
The computer tries to change its password on the domain controller. Only after a successful change, it updates its local password. A local copy of the password is stored in the registry key HKLM\SECURITY\Policy\Secrets$machine.ACC).
You can view the last password set time for a computer object account in the AD domain using the PowerShell cmdlet Get-ADComputer. You can do this from the AD Windows PowerShell module. Run the command with the computer name:
get-adcomputer -Identity Lon-Com212 -Properties PasswordLastSet
Therefore, even if you did not power on your computer for a few months, the trust relationship between computer and domain still be remaining. In this case, the computer password will be changed at the first registration of your workstation in the domain.
The trust relationship is broken when a computer tries to authenticate to a domain with an invalid password.
What is the Cause for “The Trust Relationship between this Workstation and the Primary Domain Failed” Error?
This error indicates that this computer is no longer trusted. The local computer’s password doesn’t match this computer’s object password stored in the AD database.
A trust relationship may fail if the computer tries to authenticate on a domain with an invalid password. Typically, this occurs after reinstalling Windows. Also, when the system state was restored from an image backup (or SystemState), Virtual machine snapshot, or when performing computer cloning without running the Sysprep. In this case, the current value of the password on the local computer and the password stored for a computer object in the AD domain will be different.
How to Check Secure Channel Between Workstation and the Primary Domain?
You can verify that the computer local password is synced with the computer account password on the domain controlled. To do this, logon computer under the local administrator (!!!) account, start the PowerShell console and run the Test-ComputerSecureChannel cmdlet. You can use a simple form:
Or you can add –Verbose switch parameter:
VERBOSE: Performing the operation “Test-ComputerSecureChannel” on target “Compname1”.
VERBOSE: The secure channel between the local computer and the domain theitbros.com is in good condition.
Hint. If you are unable to log into your computer using a domain account, try temporarily disconnecting the network cable. In this case, you will be able to log on to the computer under cached AD user credentials.
Fixing Trust Relationship by Domain Rejoin
First of all, open the Active Directory Users and Computers snap-in (ADUC). Make sure the problematic computer account is present in the domain, and it’s not disabled.
The most obvious old-school way to restore the trust relationship of your computer in the domain is:
- Reset local Admin password on the computer;
- Unjoin your computer from Domain to Workgroup (use the System Properties dialog box — sysdm.cpl);
- Reset Computer account in the domain using the ADUC console;
- Rejoin computer to the domain;
- Reboot again.
This method is the easiest, but not the fastest and convenient — it requires multiple reboots. Also, we know cases when after the computer domain rejoining the local user profiles are not reconnecting correctly.
Also, you can unjoin and rejoin your computer to the AD domain using WMI. Use the following PowerShell script.
$computer = Get-WmiObject Win32_ComputerSystem $computer.UnjoinDomainOrWorkGroup("AdminPassw0rd", "AdminAccount", 0) $computer.JoinDomainOrWorkGroup("DomainName", "AdminPassw0rd", "AdminAccount", $null, 3) Restart-Computer -Force
Tip. You can also fix this problem by deleting the computer account in Active Directory and recreating it without a password.
We will show how to reestablish a trust relationship, and restore a secure channel without domain rejoin and reboot!
Tip. It is important to make sure the time difference between the domain controller and the client computer is less than 5 minutes. To configure time synchronization in a domain, see the article Configuring NTP on Windows using GPO.
Reset-ComputerMachinePassword: How to Fix Failed Trust Relationship with PowerShell?
You can reset the computer password using the PowerShell cmdlet Reset-ComputerMachinePassword.
Tip. The Reset-ComputerMachinePassword PowerShell cmdlet changes the password of the account that computers use to authenticate to domain controllers. This cmdlet can be used to reset the local computer password.
This is the fastest and most convenient way to reset the password of a computer and doesn’t require a reboot. Unlike the Netdom utility, PowerShell 3.0 or newer is available on all Microsoft OSs starting with Windows 8/Server 2012. You can install it manually (see here) on Windows 7, Server 2008, and Server 2008 R2 (also requires Net Framework 4.0 or higher).
Hint. The Reset-ComputerMachinePassword and Reset-ComputerMachinePassword cmdlets are not available in PowerShell Core 6.0 and 7.x due to the use of unsupported APIs.
If you want to restore a trust relationship under a local Administrator, then run the elevated PowerShell console. Execute this command:
Reset-ComputerMachinePassword -Server DomainController -Credential DomainAdmin
- Server — the FQDN name of any domain controller;
- Credential — domain user (with permission to add the computer to the domain) or domain admin account.
Reset-ComputerMachinePassword -Server lon-dc01 -Credential corpdsmith
The credentials window will appear, and you must type the domain account password.
The cmdlet doesn’t display any messages on success, so just re-login under a domain account. No reboot is required.
If you received the error The RPC server is unavailable or An Active Directory Domain Controller (AD DC) for the domain could not be contacted, then try to run the Reset-ComputerMachinePassword cmdlet. Check DNS settings on your computer and DNS zones by following the guide Active Directory domain controller could not be contacted.
Tip. You can also repair a secure channel between the computer and Active Directory domain using PowerShell cmdlet Test-ComputerSecureChannel:Test-ComputerSecureChannel -Repair -Credential corpdsmith
Using Netdom resetpwd to Fix Trust Relationship Failed without Reboot
You can find Netdom utility in Windows Server since the 2008 version. It can be installed on the client’s PC as a part of the RSAT (Remote Server Administration Tools) package. The method is fast and efficient. To use it, login to the target system with the local Administrator (!!!) credentials (by typing, “.Administrator” to the logon window), open the elevated cmd.exe prompt, and run the following command:
Netdom resetpwd /Server:DomainController /UserD:Administrator /PasswordD:Password
- Server — the name of any domain controller;
- UserD — username with domain admin or delegated privileges;
- PasswordD — admin password.
Netdom resetpwd /Server:lon-dc01 /UserD:dsmith /PasswordD:Str0NGestP@$
After the successful execution of this command, a reboot is not required. Just logout from a local account, and log in under domain credentials.
You can check a secure connection with the AD domain using Netdom with the following command:
Netdom Verify WK_Salary12 /Domain:corp.contoso.com /UserO:dsmith /PasswordO:*
This method does not always work. It’s not always possible to authorize on the domain controller under the administrator account from a computer with broken-trust relationship.
Reset Active Directory Secure Channel and Computer Password Using NLTEST
In addition, you can reset the computer’s password in the domain and secure channel using the built-in Nltest tool:
This command will try to repair the secure channel by resetting the password both on the local computer and on the domain computer. It doesn’t need domain rejoining or rebooting.
Netdom and Reset-ComputerMachinePassword allow you to specify the user’s credentials. But Nltest works in the context of the current user. Accordingly, if you logon to the computer under the local account, and attempt to execute the command, you’ll receive an access denied error. Because of this, the method doesn’t always work.
You can check that the secure channel has been successfully reestablished using the following command:
The following strings confirm that the trust relationship has been repaired:
Trusted DC Connection Status Status = 0 0x0 NERR_Success Trust Verification Status = 0 0x0 NERR_Success
Fixing: The security database on the server does not have a computer account for this workstation trust relationship
When the error “The security database on the server does not have a computer account for this workstation trust relationship” appears, you need to check the domain controller error logs for the Event ID 2974:
The attribute value provided is not unique in the forest or partition. Attribute: servicePrincipalName Value=TERMSRV/PDC
CN=PC1,OU=Computers,DC=theitbros,DC=com Winerror: 8647
This issue indicates that the SPN (Service Principal Name) computer account attribute in AD is not properly populated. Also, check if there are several computers in the domain with the same value in the servicePrincipalName attribute.
Find the problematic computer object in the ADUC console. Go to the Attribute Editor tab, and check the value of the servicePrincipalName attribute.
Make sure your computer object has a populated SPN property value in the following format:
You can copy the computer FQDN (Fully Qualified Domain Name) from the dNSHostName attribute. If these SPN records are missing, you must create them manually.
Now restart your computer and try to logon under domain credentials.
Duplicated SPNs in the domain can be found using the ldifde utility:
ldifde -f C:\ps\SPNList.txt -t 3268 -d DC=theitbros,DC=com -l serviceprincipalname -r (serviceprincipalname=*)
As you can see, it’s quite easy to solve the Trust relationship failed issue in a domain! Hope this was useful for you!
- HTTP/HTTPS Requests via Invoke-WebRequest PowerShell Cmdlet - September 25, 2021
- How to Allow Saved Credentials for RDP Connection? - September 23, 2021
- How to Convert ESD to WIM File on Windows 10? - September 17, 2021