You're in the middle of promoting a new domain controller and DCPROMO throws ERROR_DS_INSTALL_NO_SRC_SCH_VERSION (0X0000213F). This almost always hits when you're adding a newer OS DC to an older forest, like trying to promote a Server 2008 R2 DC into a 2003-era environment. Or you're going the other way — old media, new forest — and the source domain's schema is newer than what the installation source supports.
The root cause is dead simple: the schema version on the source domain controller doesn't match what the DCPROMO source (typically a CD or an ISO) expects. Windows checks objectVersion in the schema partition before it copies anything. If the source has a higher version than the target, it refuses to proceed. It's a safety mechanism to prevent schema corruption. The culprit here is almost always a schema that's been extended by Exchange, System Center, or a half-baked third-party schema extension that bumped the version past what the installation media knows.
What You're Actually Looking At
Check the schema version on the source DC — the one you're copying from. You can do this with ADSI Edit or a simple PowerShell snippet:
Get-ADObject "CN=Schema,CN=Configuration,DC=yourdomain,DC=com" -Property objectVersion
On a Server 2003 forest, you'll see objectVersion of 30 or 31. Server 2008 bumps to 44, 2008 R2 to 47, and 2012+ goes higher. The error means your source has a version DCPROMO's source doesn't recognize — usually because the installation files are older than the source schema.
The Fix: Get Your Media and Schema in Sync
Here's the thing — you don't fix this by editing the registry or forcing a version. That way lies pain and a broken AD. The real fix is to use installation media that matches or exceeds the source schema version. But if you're stuck with older media, you've got two options.
Option 1: Upgrade Your Source Schema (Recommended)
If your source DC is older and you're trying to bring up a newer one, run adprep /forestprep and adprep /domainprep from the newer media on the source DC. That bumps the schema version to match the media you're using. For example, if you're adding a 2008 R2 DC to a 2003 forest, run adprep from the 2008 R2 installation disc on the schema master.
- Log on to the schema master as a member of Schema Admins and Enterprise Admins.
- Insert the newer Windows Server installation media.
- Open an elevated command prompt and navigate to the
\sources\adprepfolder on the media. - Run
adprep /forestprepand follow the prompts, thenadprep /domainprep. - Wait for replication to complete, then rerun DCPROMO.
That's the clean fix. It'll take a few minutes, but it's the right way.
Option 2: Use Newer Media
If you can't run adprep — maybe you don't have the schema admin creds or the source is already beyond the media's capability — pop in the installation media that matches the source forest's version. That means if you're joining a 2008 R2 forest, use 2008 R2 media. If you're trying to install an older DC into a 2012 forest, stop. That's not supported anyway.
If It Still Fails
If you've run adprep and still see the error, check for a few things:
- Replication hasn't caught up. Force replication with
repadmin /syncallon the source and wait for the schema to replicate to all DCs. - Check the DCPROMO log at
%systemroot%\debug\dcpromoui.log— it'll tell you exactly which DC it's reading from and the version it expects. - Verify you haven't got a stale schema master. If the schema master was transferred recently, the old one might still have an older version. Check with
netdom query fsmo.
One last thing — don't bother with the registry hack to overwrite objectVersion. It'll let DCPROMO run, but you'll end up with a broken schema that'll bite you at the worst possible moment. I've seen this end careers. Do it right.