Here are the high- level steps which you can use to upgrade the Active Directory


Steps :

1. Schema upgrade

Upgrade the schema using the correct version of OS – Adprep


Note - Windows Server 2008 R2 includes a 32-bit version and a 64-bit version of Adprep.exe. The 64-bit version runs by default. If you want to run one of the Adprep.exe commands on a 32-bit computer, use the 32-bit version of Adprep.exe. It is called Adprep32.exe. In Windows 2008 R2, it is located in the \Support\Adprep folder.

You can ignore the following message. However, if you are planning to install RODC later, you need to perform ADPREP/RODCPREP first. First Windows 2008 DC cannot be a Read Only Domain Controller (RODC).


2. Verify the schema version

Note - You can verify the schema version using dsquery * cn=schema,cn=configuration,dc=sivarajan,dc=com -scope base -attr objectVersion command. The following table lists the Active Directory Schema and the corresponding Object Version:

Active Directory Object Version
Windows 2000 13
Windows 2003 30
Windows 2003 R2 31
Windows 2008 44
Windows 2008 R2 47
Windows 8 Beta 52
Windows 2012 56
Windows 2012 R2 69
Windows 2016 87
Windows 2019 88

***ObjectVersion 39 - Please refer 

3. Add new server

Install new server with a correct version of OS and join this server to the existing domain..

4. Promote server to DC

Perform DCPRMO on this server and select Additional Domain Controller for an existing Domain option.

  Beginning with Windows Server 2012, you can install AD DS using Windows PowerShell the Install-ADDSDomainController command.


 Note - If you are using Active Directory Integrated (ADI) DNS, it will get replicated as part of the Active Directory replication. 

5. Transfer FSMO off decomissioned servers

If you are planning to decommission the old servers, you need to transfer FSMO roles, DHCP, etc to the new server.

Note - You can identify the FSMO role DC information using Netdom /Query FSMO command.


6. Remove old dc

You can remove (demote) a domain controller using DCPROMO command and again, since WS2012 also possible with PowerShell.


Other Languages

This article is available in other languages: