IT Share NVP -ViettechgroupVN-Phuong Nguyen blog | Share make us stronger Knowledge is Sharing Viettechgroup- Sharing Make Us Stronger-Kiến thức CNTT là sự chia sẻ- NVP-Chia sẻ làm chúng ta mạnh hơ| ITShareNVP Channel | Phương Nguyễn | Phuong Nguyen Blog| Lưu trữ kiến thức chia sẽ kinh nghiệm CNTT | Phương Nguyễn

Active Directory and Exchange Schema Version

0 20,097

Active Directory (Forest Prep) Schema Versions:

Windows ServerobjectVersion
Windows Server 201988
Windows Server 201687
Windows Server 2016 Technical Preview Schema 81
Windows Server 2012 R2 Schema69
Windows Server 2012 Schema56
Windows Server 8 BETA Schema52
Windows Server 8 Developer Preview Schema51
Windows 2008 R2 Schema47
Windows 2008 Schema44
Windows 2008 BETA Schema39
Windows 2003 R2 Schema31
Windows 2003 Schema30
Windows 2000 Schema13

How to find Active directory Schema

Using “ADSIEdit.msc” or/and “LDP.exe” tools:Navigate to:”CN=Schema,CN=Configuration,DC=domain,DC=local“and review the current “objectVersion” attribute.

Using “DSQuery” command line:”dsquery * cn=schema,cn=configuration,dc=domainname,dc=local -scope base -attr objectVersion“The following information provides a mapping between the “objectVersion” attribute value, to

Using PowerShell


using the Active Directory Cmdlets:

import-module ActiveDirectory
$ADForestConfigurationDN = ((Get-ADForest).PartitionsContainer) -Replace(‘CN=Partitions,’)
$ADSchemaInfo = Get-ADObject “cn=schema,$ADForestConfigurationDN” -properties objectversion
$ADSchemaVersion = $ADSchemaInfo.objectversion
Write-Output “The current AD Schema Version is $RootDSEADObjectVersion which is $ADSchemaVersionName `r ”
Write-Output ” `r “



Exchange Schema Versions

What is Exchange Schema

Exchange Schema version or Exchange Active Directory versions , The tables in the following sections contain the Exchange objects in Active Directory that are updated each time you install a new version of Exchange (a new installation or a CU). There are three very important parameters of the Exchange Schema: rangeUpper, objectVersion (Default), objectVersion (Configuration).

  • rangeUpper is located in the Schema naming context in the properties of the ms-Exch-Schema-Version-Pt container.
  • objectVersion (Default) is the objectVersion attribute located in the Default naming context in the properties of the Microsoft Exchange System Objects container.
  • objectVersion (Configuration) is the objectVersion attribute located in the Configuration naming context in Services > Microsoft Exchange in the properties of the <Your Exchange Organization Name> container.

Exchange 2016 Schema Active Directory versions (Forest Prep)

When you run prepare schema and PrepareAD

<Virtual DVD drive letter>:\Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareSchema
Exchange 2016 versionrangeUpperobjectVersion (Default)objectVersion (Configuration)
Exchange 2016 CU20153331324016220
Exchange 2016 CU19153331323916219
Exchange 2016 CU18153321323816218
Exchange 2016 CU17153321323716217
Exchange 2016 CU16153321323716217
Exchange 2016 CU15153321323716217
Exchange 2016 CU14153321323716217
Exchange 2016 CU13153321323716217
Exchange 2016 CU12153321323616215
Exchange 2016 CU11153321323616214
Exchange 2016 CU10153321323616213
Exchange 2016 CU9153321323616213
Exchange 2016 CU8153321323616213
Exchange 2016 CU7153321323616213
Exchange 2016 CU6153301323616213
Exchange 2016 CU5153261323616213
Exchange 2016 CU4153261323616213
Exchange 2016 CU3153261323616212
Exchange 2016 CU2153251323616212
Exchange 2016 CU1153231323616211
Exchange 2016 RTM153171323616210
Exchange 2016 Preview153171323616041

Exchange 2019 Schema Active Directory versions (Forest Prep)

Exchange 2019 versionrangeUpperobjectVersion (Default)objectVersion (Configuration)
Exchange 2019 CU9170021324016757
Exchange 2019 CU8170021323916756
Exchange 2019 CU7170011323816755
Exchange 2019 CU6170011323716754
Exchange 2019 CU5170011323716754
Exchange 2019 CU4170011323716754
Exchange 2019 CU3170011323716754
Exchange 2019 CU2170011323716754
Exchange 2019 CU1170001323616752
Exchange 2019 RTM170001323616751
Exchange 2019 Preview153321323616213

How to Find Forest rangeUpper and objectVersion

For the forest, you can find out the current schema version by consulting the rangeUpper property of CN=ms-Exch-Schema-Version-Pt,cn=schema,cn=configuration,. To read the forest version, consult the objectVersion property of cn=,cn=Microsoft Exchange,cn=Services,cn=Configuration,.

For example, to find out the current Exchange forest schema version and forest version, use a tool like ADSIEDIT or use PowerShell (replace ‘Contoso’ with the name of your Exchange organization):


CMD-> adsiedit.msc->connect->Schema->configuration->cn=ms-Exch-Schema-Version-pt

Rangupper: 1533 for Exchange 2016 Cu20

objectVersion Default

The same action below but choose connect default

objectVersion default

objectVersion configuration

The same action below but choose connect configuration

objectVersion 16220


#Forest rangeUpper
#Forest objectVersion
$RootDSE= ([ADSI]"").distinguishedName
([ADSI]"LDAP://cn=viettechgroup,cn=Microsoft Exchange,cn=Services,cn=Configuration,$RootDSE").objectVersion
$RootDSE= ([ADSI]"").distinguishedName
([ADSI]"LDAP://CN=Microsoft Exchange System Objects,$RootDSE").objectVersion


PS C:\> # Exchange Schema Version
PS C:\> $sc = (Get-ADRootDSE).SchemaNamingContext
PS C:\> $ob = "CN=ms-Exch-Schema-Version-Pt," + $sc
PS C:\> Write-Output "RangeUpper: $((Get-ADObject $ob -pr rangeUpper).rangeUpper)"
RangeUpper: 15332
PS C:\># Exchange Object Version (domain)
PS C:\>$dc = (Get-ADRootDSE).DefaultNamingContext
PS C:\>$ob = "CN=Microsoft Exchange System Objects," + $dc
PS C:\>Write-Output "ObjectVersion (Default): $((Get-ADObject $ob -pr objectVersion).objectVersion)"
ObjectVersion (Default): 13237
PS C:\># Exchange Object Version (forest)
PS C:\>$cc = (Get-ADRootDSE).ConfigurationNamingContext
PS C:\>$fl = "(objectClass=msExchOrganizationContainer)"
PS C:\>Write-Output "ObjectVersion (Configuration): $((Get-ADObject -LDAPFilter $fl -SearchBase $cc -pr objectVersion).objectVersion)"
ObjectVersion (Configuration): 16217

Download Script here Get-ADversions.ps1 

Good luck for you to install and deploy Exchange Server 2016, 2019

Phuong Nguyen