Finding the current Schema Version

This article describes how to find the current Schema Version. The original author of the article was Yuval Sinay, Microsoft MVP.

Applies to:   Windows Server 2012 R2
Original KB number:   558112

Find the current Active Directory Schema Version

To find the current Active Directory Schema Version, you can use one of the following methods:

Note

The internal root domain that we use in this demo is contoso.local.

Method 1

  1. Use ADSIEdit.msc or LDP.exe to navigate to:
    CN=Schema,CN=Configuration,DC=contoso,DC=local.

  2. Review the objectVersion attribute.

Method 2

Use the DSQuery command line. Run the following command:

dsquery * "cn=schema,cn=configuration,dc=contoso,dc=local" -scope base -attr objectVersion

Method 3

Use the Get-ItemProperty PowerShell cmdlet. Run the following command:

Get-ItemProperty 'AD:\CN=Schema,CN=Configuration,DC=contoso,DC=local' -Name objectVersion

"objectVersion" attribute to Operating System

The following information provides a mapping between the objectVersion attribute value and the Active Directory Schema commutability:

Version Operating System
13 Windows 2000 Server
30 Windows Server 2003 RTM, Windows 2003 Service Pack 1, Windows 2003 Service Pack 2
31 Windows Server 2003 R2
44 Windows Server 2008 RTM
47 Windows Server 2008 R2
56 Windows Server 2012
69 Windows Server 2012 R2
87 Windows Server 2016
88 Windows Server 2019
88 Windows Server 2022

Find the current Exchange Schema Version

To find the current Exchange Schema Version, you can use one of the following methods:

Note

The internal root domain that we use in this demo is contoso.local.

Method 1

  1. Use ADSIEdit.msc or LDP.exe to navigate to:
    CN=ms-Exch-Schema-Version-Pt, CN=Schema,CN=Configuration,DC=contoso,DC=local

  2. Review the current rangeUpper attribute.

Method 2

Use the DSQuery command line:

dsquery * "CN=ms-Exch-Schema-Version-Pt,cn=schema,cn=configuration,dc=contoso,dc=local" -scope base -attr rangeUpper

Method 3

Run the Get-ItemProperty PowerShell cmdlet:

Get-ItemProperty "AD:\CN=ms-Exch-Schema-Version-Pt,cn=schema,cn=configuration,$((get-addomain).DistinguishedName)" -Name rangeUpper

Some "rangeUpper" attribute map

The following articles provide a mapping between the rangeUpper attribute value and the Exchange Schema commutability:

Community Solutions Content Disclaimer

Microsoft corporation and/or its respective suppliers make no representations about the suitability, reliability, or accuracy of the information and related graphics contained herein. All such information and related graphics are provided "as is" without warranty of any kind. Microsoft and/or its respective suppliers hereby disclaim all warranties and conditions with regard to this information and related graphics, including all implied warranties and conditions of merchantability, fitness for a particular purpose, workmanlike effort, title and non-infringement. You specifically agree that in no event shall Microsoft and/or its suppliers be liable for any direct, indirect, punitive, incidental, special, consequential damages or any damages whatsoever including, without limitation, damages for loss of use, data or profits, arising out of or in any way connected with the use of or inability to use the information and related graphics contained herein, whether based on contract, tort, negligence, strict liability or otherwise, even if Microsoft or any of its suppliers has been advised of the possibility of damages.