Quick answer for the impatient
Run nltest /sc_query:yourdomain.local. If it fails, clear the Netlogon cache by deleting C:\Windows\System32\config\Netlogon.dns and Netlogon.dnslookup, then restart the Netlogon service. Reboot both DC and client if that doesn't stick.
Context: why this error shows up
I've seen this error a lot on Windows Server 2016 and 2019 domain controllers, usually right after a domain rename or when someone messes with DNS records. The error 0X000008E8 means the NERR_GrpMsgProcessor — the Netlogon group message processor — hit a snag. That processor handles secure channel messages between domain controllers and client machines. When it dies, group policy processing stops working. You'll notice event log entries like "An error occurred in the domain NERR_GrpMsgProcessor message processor." The real trigger is often a stale DNS cache or a corrupted Netlogon secure channel. I've also seen it after a Windows Update that changes RPC behavior (looking at you, KB5005523). Let's fix it.
Step-by-step fix
- Verify the secure channel. Open a command prompt as admin. Type:
Replacenltest /sc_query:yourdomain.localyourdomain.localwith your actual domain name. If the result saysERROR_NO_LOGON_SERVERSorERROR_TRUST_FAILURE, the secure channel is broken. - Reset the secure channel. With the same admin prompt, run:
This forces Netlogon to rebuild the trust. Wait 30 seconds, then run the query again to confirm success.nltest /sc_reset:yourdomain.local - Clear the Netlogon cache. This is the fix that works 90% of the time. Stop the Netlogon service:
Then delete these two files:net stop netlogon
Restart Netlogon:C:\Windows\System32\config\Netlogon.dns
C:\Windows\System32\config\Netlogon.dnslookupnet start netlogon - Flush DNS and renew the registration. In the same admin prompt:
This forces the DC to re-register its SRV records. Wait 2 minutes, then check the event log for the error.ipconfig /flushdns
ipconfig /registerdns - Reboot the domain controller. I know it's cliché, but many times the issue is a stuck RPC thread. A clean boot clears it. If the error reappears after reboot, move to the alternative fixes below.
Alternative fixes if the main steps don't work
Check RPC binding order
Sometimes the RPC endpoint mapper picks the wrong network interface. Open Control Panel > Network and Sharing Center > Change adapter settings. Press Alt to see the menu, then Advanced > Advanced Settings. Under Adapters and Bindings, make sure your primary network adapter (the one with the domain DNS) is at the top. Move it up with the arrows.
Check DNS for stale records
Run this on the DC (or any DNS server):
dnscmd /enumrecords yourdomain.local . SRV Look for duplicate _ldap._tcp.dc._msdcs entries pointing to old IPs. Delete any stale records using the DNS management console. If you're not sure, just delete the entire _msdcs subdomain — Windows will rebuild it within 15 minutes.Restart the RPC service
This is a nuclear option but safe if the error persists. Run:
net stop rpcss && net start rpcss Be careful — this kills all RPC connections for a few seconds. Do it during a maintenance window.Prevention tip
I recommend setting up a weekly scheduled task that runs nltest /sc_query on all DCs and alerts you if the secure channel fails. Also, enable DNS scavenging on your domain zones — stale records are the #1 cause of this error reoccurring. Set the scavenging interval to 7 days for dynamic records. It's a five-minute config that saves you hours of chasing ghosts.