How to Find the AD and Exchange Schema Version

Get AD Exchange Schema Version

Perhaps it’s been a couple of years since you extended your Active Directory schema. Or maybe you inherited someone else’s installation and documentation is non-existent.

With the following PowerShell script you can read the exact version number of your Active Directory schema. You’ll get both the Windows schema version and the version of any Exchange schema extensions.

You need the PowerShell module for Active Directory on your system. This is available by default on your domain controllers and can be installed via the RSAT component on other systems.

The version information is read directly from Active Directory, you don’t need an elevated prompt to run it.

Execute the following script to read the schema version info:

Import-Module ActiveDirectory
$SchemaVersions = @()
$SchemaPartition = (Get-ADRootDSE).NamingContexts | ? { $_.SubString(0, 9).ToLower() -eq 'cn=schema' }
$SchemaVersionAD = (Get-ADObject $SchemaPartition -Property objectVersion).objectVersion
$SchemaVersions += @{'Active Directory' = $SchemaVersionAD}
$SchemaPathExchange = "CN=ms-Exch-Schema-Version-Pt,$SchemaPartition"
If (Test-Path "AD:$SchemaPathExchange") {
  $SchemaVersionExchange = (Get-ADObject $SchemaPathExchange -Property rangeUpper).rangeUpper
}
Else {
  $SchemaVersionExchange = 0
}
$SchemaVersions += @{'Exchange' = $SchemaVersionExchange}
Write-Output $SchemaVersions

Depending on your Active Directory and Exchange schema versions the script will produce output similar to the following:

Name                           Value
----                           -----
Active Directory               87
Exchange                       15303

AD and Exchange Schema Version Reference Tables

To interpret the output values from the script use the following tables:

Active Directory Schema Version

AD VersionSchema Version
Windows server 201988
Windows Server 201687
Windows Server 2012 R269
Windows Server 201256
Windows Server 2008 R247
Windows Server 200844
Windows Server 2003 R231
Windows Server 200330
Windows 2000 Server13

Exchange Schema Version Numbers

Exchange VersionSchema Version
Exchange 2019 CU1217003
Exchange 2019 CU817002
Exchange 2019 CU217001
Exchange 2019 RTM17000
Exchange 2016 CU2115334
Exchange 2016 CU1915333
Exchange 2016 CU715332
Exchange 2016 CU615330
Exchange 2016 CU315326
Exchange 2016 CU215325
Exchange 2016 CU115323
Exchange 2016 RTM15317
Exchange 2013 CU715312
Exchange 2013 CU615303
Exchange 2013 CU515300
Exchange 2013 SP1 (CU4)15292
Exchange 2013 CU315283
Exchange 2013 CU215281
Exchange 2013 CU115254
Exchange 2013 RTM15137
Exchange 2010 SP314734
Exchange 2010 SP214732
Exchange 2010 SP114726
Exchange 2010 RTM14622
Exchange 2007 SP314625
Exchange 2007 SP214622
Exchange 2007 SP111116
Exchange 2007 RTM10637
Exchange 2003 RTM6870
Exchange 2000 SP24406
Exchange 2000 RTM4397