How to determine your AD and Exchange Schema version

I was looking for a good reference of AD and Exchange schema version numbers yesterday and thought it would be handy to combine all the bits of information I came across into a single post.

There are a couple of ways to find the schema version number, I prefer using “DSQuery” to “ADSIEdit” so I’ll be making use of “DSQuery” in the following examples.

To determine the version of your AD schema, we use “DSQuery” to find the value of the “objectVersion” attribute:

dsquery * cn=schema,cn=configuration,dc=yourdomain,dc=local -scope base –attr objectVersion

Here is a mapping between the “objectVersion” attribute value and the AD schema version:

 

Value
Schema Version
   
13
Windows 2000 Server
30
Windows Server 2003 RTM/SP1/SP2
31
Windows Server 2003 R2
44
Windows Server 2008 RTM

To determine the version of your Exchange schema, we use “DSQuery” to find the value of the “rangeUpper” attribute:

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

Here is a mapping between the “rangeUpper” attribute value and the Exchange schema version:

 

Value
Schema Version
   
4397
Exchange Server 2000 RTM
4406
Exchange Server 2000 SP3
6870
Exchange Server 2003 RTM
6936
Exchange Server 2003 SP3
10628
Exchange Server 2007 RTM
11116
Exchange Server 2007 SP1
14622
Exchange Server 2007 SP2
 

NOTE: in both examples, it is assumed that your domain name is “youdomain.local”