0X000021A3

Active Directory 0X000021A3: WKO Container Error Fix

This error stops AD DS from starting because a Well-Known Object container got flagged as special. Fix it by editing Windows Registry or using ntdsutil.

This error's a real pain — AD DS won't start and you're staring at event logs that don't tell you much.

Let's cut to it. The culprit here is almost always a Well-Known Object (WKO) container that's got its systemFlags attribute set wrong. Some upgrade or migration tool (looking at you, older ADMT versions) flips a bit that tells AD "this container is special" when it's not supposed to be. You'll see this after a forest upgrade from 2008 R2 or a botched domain rename.

Step-by-Step Fix

You need to clear that flag. Two ways to do it. I'll start with the fastest.

Fix via Registry (Safe Mode Required)

  1. Boot the domain controller into Directory Services Restore Mode (DSRM).
  2. Open Regedit and go to: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
  3. Create a new DWORD (32-bit) value named AllowSpecialWKOContainers and set it to 1.
  4. Restart the server normally. AD DS should start.
  5. Run ntdsutil to permanently fix the attribute (next section).
  6. After that, delete the registry key you added — leaving it there masks future issues.

Important: This registry key is a bypass, not a fix. It lets AD start so you can actually repair the database. Don't skip the ntdsutil step.

Fix via ntdsutil (The Real Fix)

With AD running (from the registry bypass or if you caught this early), open an elevated command prompt:

ntdsutil
activate instance ntds
semantic database analysis
go
fixup container <DN of problem container>
q
q

You need the Distinguished Name of the WKO container. Common offenders:
CN=Program Data,DC=yourdomain,DC=local
CN=MicrosoftDNS,CN=System,DC=yourdomain,DC=local
CN=ForeignSecurityPrincipals,DC=yourdomain,DC=local

If you're not sure which one's busted, check event ID 1927 in the Directory Service log. It'll tell you the exact container DN.

Why This Works

The systemFlags attribute has a bit that marks a container as "special" — bit 0 (value 1). Normally only system-critical containers like CN=Operations get this flag. When a WKO container accidentally gets it, AD DS refuses to load because it can't verify the container's integrity. The registry bypass tells AD to ignore the check temporarily. The ntdsutil fixup container command directly clears the incorrect flag in the database.

Less Common Variants

Sometimes the error shows up with a different code — 0x21A4 or 0x21A5 — pointing to the same root cause. If you're seeing those, apply the exact same fix. Also seen this on Windows Server 2016 after a failed in-place upgrade from 2012 R2 — the AD database got corrupted during the schema update phase.

Another variant: you'll get this error if someone manually edited the systemFlags attribute via ADSI Edit on a WKO container. Don't do that. Ever. ADSI Edit is a scalpel — use it wrong and you slice your domain.

Prevention

  • Never upgrade AD schema without testing first. Stand up a lab, run adprep /forestprep there, then test for a week.
  • Stick to Microsoft-supported migration tools. ADMT v3.2 is fine. Old third-party tools from 2010? Hard no.
  • Back up your AD database before any schema change. wbadmin start systemstatebackup takes ten minutes and saves your weekend.
  • Monitor event ID 1926 and 1927 in Directory Service logs — they're early warnings that a WKO container's flags are getting wonky.
One last thing: if you're on Server Core (no GUI), skip the registry editor. Use reg add from the command line while in DSRM:
reg add "HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters" /v AllowSpecialWKOContainers /t REG_DWORD /d 1 /f

Same steps, no Regedit needed. You'll feel like a wizard. That's the goal.

Related Errors in Windows Errors
0X80000012 STATUS_NO_MORE_EAS: Extended Attributes Error on Windows Fix 0XC00D107F Fix NS_E_WMPCORE_BUFFERTOOSMALL (0XC00D107F) – Buffer Too Small 0X80010125 Fix CO_E_FAILEDTOOPENTHREADTOKEN (0X80010125) in 3 Steps 0X80280800 TPM_E_RETRY (0X80280800) Fix: When TPM Says 'Try Again'

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.