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”