0XC000019A

STATUS_NOLOGON_SERVER_TRUST_ACCOUNT (0XC000019A) Fix

This error means a computer account is trying to log in as a user account. The fix is simple: reset the computer account in AD or rejoin the domain.

When This Error Shows Up

You're staring at a Windows Server 2019 or 2022 domain member—say a file server or SQL box—and it just won't let you log in. Not even with domain admin credentials. The error code you get: STATUS_NOLOGON_SERVER_TRUST_ACCOUNT (0XC000019A). This isn't a typo. It's a specific case where the system thinks the account trying to authenticate is the server's own machine account—the one that ends with a dollar sign, like SRV-FILES$—and not a real user.

I've seen this most often after a server is cloned, restored from a backup with a different SID, or when someone accidentally resets the computer account in Active Directory Users and Computers but doesn't rejoin the server. The moment you try to log in, the LSASS process sees the credential hash is for a machine account, rejects it, and throws 0XC000019A.

Root Cause

What's actually happening here is that the Kerberos or NTLM authentication path detects the account used in the logon attempt has the USER_SERVER_TRUST_ACCOUNT flag set. In Active Directory, a computer account is marked with this flag—it's not a user, it's a machine. When LSASS receives a logon request that matches a machine account's credentials, it doesn't say "wrong password"—it says "you can't log in with this account type at all." This is by design, not a bug.

The reason it happens post-clone or post-restore is because the local Security Account Manager (SAM) on the server still holds the old machine account password hash (from the previous AD join). The server tries to authenticate using that hash, AD sees it's a computer account, and denies interactive logon. Same thing if you reset the computer object in AD without telling the server—the server's local copy is now out of sync, but AD still sees the object as a machine account.

Fix: Reset and Rejoin the Domain

The only reliable fix is to break the trust and rebuild it. Here's the exact sequence I use. Skip the GUI tools—they're slow and sometimes hide the real problem.

Step 1: Boot into Safe Mode with Networking

Since normal logon is blocked, you need to get in as a local admin. Boot the server, press F8 before the Windows logo, and choose Safe Mode with Networking. Log in with the built-in local Administrator account (the one on the machine, not a domain account). If you don't know that password, you're stuck—reset it via a recovery disk first.

Step 2: Remove the Server from the Domain

Open an elevated command prompt. Run:

netdom remove %COMPUTERNAME% /domain:yourdomain.local /UserD:DOMAIN\AdminUser /PasswordD:* /Force

Replace yourdomain.local with your actual domain. The /Force flag is critical—it forces removal even if AD can't contact the server back. Without it, the command will fail because the trust is already broken.

If netdom isn't available (it's not on Server Core by default), install the AD DS tools first:

Install-WindowsFeature -Name RSAT-ADDS-Tools

Step 3: Reset the Computer Account in Active Directory

On a domain controller (or from a machine with RSAT), open Active Directory Users and Computers. Find the computer object for the server you're fixing. Right-click it, choose Reset Account. This clears the old machine password and sets a new one. Do not delete the object—you lose all group memberships and permissions tied to it.

Step 4: Rejoin the Domain

Back on the problem server, still in safe mode, run:

netdom join %COMPUTERNAME% /domain:yourdomain.local /UserD:DOMAIN\AdminUser /PasswordD:*

You'll be prompted for the admin password. After it completes, reboot normally. Log in with a domain user account—should work now.

Step 5: Verify

Check the System event log for ID 5719 or 5805—those indicate trust failures. Also run nltest /sc_query:yourdomain.local to confirm the secure channel is working. You should see The command completed successfully and a status of 0x0.

What If It Still Fails?

Two things I've tripped over:

  • DNS mismatch. The server's DNS suffix must match the domain name. Check ipconfig /all—if the primary DNS suffix is wrong, the server can't find the domain controller. Fix it in System Properties > Computer Name > Change > More.
  • Time skew. Kerberos requires the server's clock to be within 5 minutes of the DC. Run w32tm /query /status and compare. If it's off, sync with w32tm /resync.
  • Duplicate SID. If you cloned this server, its machine SID is identical to the source. This doesn't break logon itself, but it confuses AD if both are online. Use Sysprep with /generalize before joining new clones.

If you're still stuck after all that, you've got a deeper issue—maybe a corrupted SAM database or a domain controller replication problem. At that point, back up the data and do a clean OS install. It's faster than diagnosing the last 2% of weirdness.

Related Errors in Cybersecurity & Malware
Spam Filters Letting Trash Through? Fix It. STATUS_ACCESS_VIOLATION or Event ID 4673 Blocked by 'Unauthorized Privilege Escalation Attempt' – Fix in 3 Steps 0X80090304 Fix SEC_E_INTERNAL_ERROR (0x80090304) – LSA Issue 0X8009030A SEC_E_QOP_NOT_SUPPORTED (0x8009030A) Fix: Broken Kerberos or NTLM

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.