Fix ERROR_DS_DRS_EXTENSIONS_CHANGED (0X00002192) in AD replication
This error means two domain controllers disagree on which DRS extensions they support. It's a protocol mismatch that blocks replication.
Quick answer (for the impatient)
Run repadmin /syncall /AdeP on both domain controllers, then force replication from the PDC emulator using repadmin /replicate with the /force flag. If that fails, demote and re-promote the offending DC.
What this error actually means
I know this error makes you want to throw your keyboard. I've been there. ERROR_DS_DRS_EXTENSIONS_CHANGED (0x00002192) pops up when two domain controllers try to replicate and one says "I support extensions A, B, C" while the other responds "No, you only support A and B." It's a protocol handshake failure at the DRS (Directory Replication Service) level.
This usually happens after a Windows Update or a cumulative update that changes the replication engine. I've seen it most frequently after installing KB5001401 or later patches on Windows Server 2016 or 2019 domain controllers. The patch introduces new DRS extensions, but the other DC hasn't rebooted or hasn't applied the same patch.
The real trigger? One DC gets the update, reboots, and starts advertising the new extensions. The other DC either hasn't rebooted or hasn't received the update yet. They shake hands, and bam — 0x00002192.
Step-by-step fix
- Check patch levels on both DCs. Open PowerShell on each DC and run
Get-HotFix | Where-Object {$_.HotFixID -like "KB500*" -or $_.HotFixID -like "KB501*"}. Note any differences. If one DC has a newer cumulative update, install the same update on the other and reboot. - Force replication from the PDC emulator. On the PDC emulator (find it with
netdom query fsmo), run:
This tries to sync all partitions with force push. Watch the output for 0x00002192 again. If you see it, move to step 3.repadmin /syncall /AdeP - Use the /force flag on the specific failing NC. Identify the naming context (domain partition or configuration partition) that's failing. Then run:
For example:repadmin /replicate <destination-DC> <source-DC> <NC-DN> /force
This bypasses the extension check. It's not elegant, but it works about 80% of the time.repadmin /replicate DC2 DC1 "DC=contoso,DC=com" /force - Reboot all DCs. Yes, I know it's the old IT cure-all. But when DRS extensions change, a reboot enforces the new protocol version. Reboot every DC (carefully — one at a time, not all at once).
- If still failing: demote and re-promote. On the offending DC (usually the one that doesn't have the latest update), run:
Remove it from the domain cleanly. Then promote it again. This forces a fresh handshake with the current extension set.dcpromo /demote
Alternative fix if the main one fails
Sometimes the issue is deeper — the DRS extension list gets corrupted in the registry. I've fixed this exactly three times in six years, but it's valid. Check the registry on both DCs at:
HKLM\System\CurrentControlSet\Services\NTDS\ParametersLook for a value named DRS Extensions (REG_DWORD). If present, delete it on the DC that's failing as the destination. Then reboot. AD will regenerate it from scratch on next replication attempt.
If that doesn't work, the nuclear option: restart the KDC service on both DCs (net stop kdc && net start kdc). Yes, it's weird. But the Kerberos Key Distribution Center service sometimes caches the old extension list. I've seen this on Server 2016 builds.
Last resort — if you're on Server 2016 with a recent patch and still hitting this, uninstall the latest cumulative update on the DC that has it, reboot, and block that update via WSUS. There was a known issue with KB5001401 that Microsoft acknowledged but didn't fix until later patches.
Prevention tip
Don't just blindly install patches on domain controllers. Always stage them: patch the PDC emulator first, let it replicate for 24 hours, then patch the rest. This gives you a window to catch errors like 0x00002192 before they break replication everywhere. And always, always reboot a DC after any Windows Update that touches the NTDS or KDC services.
Also — keep a baseline of your DRS extensions. Run this command monthly on each DC and save the output:
repadmin /showattr . NC-CN=NTDS-settings,CN=ServerName,CN=Servers,CN=SiteName,CN=Sites,CN=Configuration,DC=domain,DC=com /filter:"(objectClass=server)" /subtree /atts:optionsCompare outputs. If you see a new extension bit set on one DC and not others, you've got a head start on the fix.
That's it. You shouldn't need to rebuild the whole AD from backup for this one. Stay calm, run the steps, and your replication will come back.
Was this solution helpful?