Exchange Schema Versions – Common Questions & Answers

Exchange Schema Versions – Common Questions & Answers

This Exchange TechNet Wiki article includes answers to some of the common questions around Exchange Schema versions that came from partners, customers and the community.   




Exchange Schema Versions


When preparing an Active Directory forest for the deployment of Exchange Server, one of the steps is to extend the Active Directory schema with new Exchange specific attributes and make modifications to existing schema classes and attributes.

Depending on the Exchange Server version (or Exchange service pack) used, the Active directory schema is extended with a different set of schema classes and attributes. The following table lists the Exchange schema version for each Exchange Server version and Exchange service pack released since Exchange 2000 RTM.
 

Exchange Version Forest rangeUpper attribute of ms-Exch-Schema-Version-Pt  Forest objectVersion attribute of Organization container Domain objectVersion attribute on Microsoft Exchange System Objects
Exchange 2000 RTM 4397 - 4406
Exchange 2000 SP3 4406 - 4406
Exchange 2003 RTM 6870 6903 6936
Exchange 2003 SP1 6870 6903 6936
Exchange 2003 SP2 6870 6903 6936
Exchange 2007 RTM 10637 10666 10628
Exchange 2007 SP1 11116 11221 11221
Exchange 2007 SP2 14622 11222 11221
Exchange 2007 SP3 14625 11222 11221
Exchange 2010 RTM 14622 12640 12639
Exchange 2010 SP1 14726 13214 13040
Exchange 2010 SP2 14732 14247 13040
Exchange 2010 SP3 14734 14322  13040 
Exchange 2013 RTM 15137 15449 13236
Exchange 2013 CU1 15254 15614 13236
Exchange 2013 CU2 15281 15688 13236


note Note
For information about available Exchange Server service packs and update rollups, see the Exchange Server and Update Rollups Builds Numbers TechNet Wiki page.

 


What Changes are made to the Active Directory Schema when installing Exchange 2003, Exchange 2007 or Exchange 2010?


Each Exchange Server version adds a significant amount of Exchange specific attributes and makes modifications to existing schema classes and attributes. For detailed information around the specific changes for Exchange 2003, Exchange 2007 and Exchange 2010, see the Exchange Server Active Directory Schema Changes Reference document.

How can I check the Exchange Schema Version in an Active Directory forest that holds an Exchange Organization?


After having installed a new Exchange Server version or Exchange service pack, it’s considered a best practice to verify the Exchange Schema version has been updated properly. This can be done by checking the value of the “rangeUpper” attribute found on the property page of the “ms-Exch-Schema-Version-Pt” schema attribute.

To lookup the value of the “rangeUpper” attribute, you can use a tool such as ADSI Edit, LDP.exe or DSQuery.

In order to lookup the “rangeUpper” value using ADSIEdit, log on to a Domain Controller in your Active Directory Forest and then click Start > Run and type “ADSIEdit.msc”. in the ADSI Edit console right-click on ADSI Edit in the navigation pane, then select “Connect to” in the context menu.

In the Connection Settings box, select Schema in the “Select a well known Naming Context” drop-down menu followed by clicking “OK”.

Now extend the schema node and then select “CN=Schema,CN=Configuration,DC=contoso,DC=com”. Then drill down and open the property page for the “CN=ms-Exch-Schema-Version-Pt” schema attribute.

On the property page, find the “rangeUpper” attribute and match the value with the table listed in the beginning of this article.


Using LDP.exe

If you want to look up the rangeUpper value using LDP.exe, log on to a Domain Controller in the Active Directory Forest, and click Start > Run and type “LDP.exe”. In the Ldp console, click Connection > Bind and then Bind as currently logged on user.


Then click “Tree” mode under “View” in the menu.

In the “Tree View” box, select “CN=Schema,CN=Configuration,DC=contoso,DC=com” in the drop-down menu.


Now expand the Schema node in the navigation pane, and then look up the “ms-Exch-Schema-Version-Pt” schema attribute. In the right pane, scroll down to the bottom where the “rangeUpper” attribute can be found.

Note
If the “ms-Exch-Schema-Version-Pt” schema attribute isn’t listed, you may need to increase the value of the “Max children” under Options > General in the menu.



Using DSQuery

If you want to look up the rangeUpper value using DSQuery, open a command prompt and type the following command:

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




Can I upgrade the Schema in an Active Directory that has Exchange 2007 SP3 Deployed to Exchange 2010 RTM?


This is not supported. In fact it’s not possible since the schema included with Exchange 2007 SP3 are newer than the one included with Exchange 2010 RTM. If you try to run “Setup /PrepareSchema” using the Exchange 2010 RTM bits in an Active Directory forest extended using Exchange 2007 SP3, the organization check will fail with the following error message:

Setup encountered a problem while validating the state of Active Directory: The Active Directory schema version (14625) is higher than Setup’s version (14622). Therefore, PrepareSchema can’t be executed.

Exchange 2010 SP1 or later should be used to upgrade the schema.


Is it possible to extend the schema in an Active Directory Forest with Exchange Exchange 2007 SP1/SP2 with Exchange 2010 SP1 prior to upgrading to Exchange 2007 SP3?

Yes this is possible and a supported scenario as long as you only extend the Active Directory schema using “Setup /PrepareSchema” and do not prepare the Active Directory with “Setup /PrepareAD”.

Extending the Active Directory schema in a large organization is usually not an easy task. Because of this large organization would like to do a few Active Directory schema extensions as possible. If Exchange 2007 SP1 or Exchange 2007 SP2 is currently deployed in a large organization and the organization is planning to upgrade to Exchange 2007 SP2 or Exchange 2007 SP3, the organization could extend the schema using Exchange 2010 SP1 followed by preparing the Active Directory and domain(s) using Exchange 2007 SP2 or Exchange 2007 SP3 and then upgrading the Exchange 2007 servers to Exchange 2007 SP2 or Exchange 2007 SP3.

When the day comes where the organization is upgrading to Exchange 2010 SP1, the Active Directory schema wouldn’t need to be extended prior to preparing the Active Directory and domain(s) for Exchange 2010 SP1.


Is it required to run "Setup /PrepapareAD" when upgrading from Exchange 2010 RTM or SP1 to Exchange 2010 SP2?


Yes Exchange 2010 SP2 requires the Active Directory to be prepared prior to upgrading any Exchange 2010 RTM or SP1 server in the respective forest. If you do not run "Setup /PrepareAD" prior to upgrading the first Exchange 2010 server, Exchange 2010 setup will, if the account used hold the necessary permissions, prepare the Active Directory automatically. 


Testing in a Lab Environment is Key!


Although something is supported, it doesn’t mean that the scenario shouldn’t be tested in a lab environment mirroring the production environment.

When it comes to extending the Active Directory schema with Exchange specific attributes and classes, this is no different. When doing so, it’s also wise to test the Active Directory schema for extension conflicts. The steps on how to do so are outside the scope of this TechNet Wiki article. For details and required steps, see Testing for Active Directory Schema Extension Conflicts.


External Links

 

Leave a Comment
  • Please add 6 and 1 and type the answer here:
  • Post
Wiki - Revision Comment List(Revision Comment)
Sort by: Published Date | Most Recent | Most Useful
Comments
  • Hans Moser edited Revision 41. Comment: Messed up the format

  • Ed Price - MSFT edited Revision 36. Comment: Title and tags

  • Richard Mueller edited Revision 31. Comment: Fixed HTML <h> tags so TOC works

  • Jewel Lambert edited Revision 30. Comment: rangerUpper -> rangeUpper

  • Henrik Walther edited Revision 27. Comment: Added section revolving around the requirement of Setup /PrepareAD when upgrading to Exchange 2010 SP2

  • Richard Mueller edited Revision 18. Comment: Added rangeUpper for Exch 2000 RTM, 2000 SP3, and 2003 SP3, per this kb:

  • Arman Obosyan edited Revision 17. Comment: Fix Reference doc version to November 2011

  • Henrik Walther edited Revision 16. Comment: Added Exchange 2010 SP2 schema version

Page 1 of 1 (8 items)
Wikis - Comment List
Sort by: Published Date | Most Recent | Most Useful
Posting comments is temporarily disabled until 10:00am PST on Saturday, December 14th. Thank you for your patience.
Comments
  • Hans Moser edited Revision 41. Comment: Messed up the format

  • Exchange 2013 information missing...

    Exchange Version rangeUpper objectVersion objectVersion

    Exchange 2013 15137 15449     13236

  • Ed Price - MSFT edited Revision 36. Comment: Title and tags

  • Great Work !

  • Richard Mueller edited Revision 31. Comment: Fixed HTML <h> tags so TOC works

  • Jewel Lambert edited Revision 30. Comment: rangerUpper -> rangeUpper

  • Is kb article 556086 in error? Or is it not possible to have Exchange 2003 sp3 with rangeUpper 6936?

  • Henrik Walther edited Revision 27. Comment: Added section revolving around the requirement of Setup /PrepareAD when upgrading to Exchange 2010 SP2

  • Thanks for the contribution, Richard!

  • Great information in this article. If found more Schema versions and rangeUpper values in support.microsoft.com/.../556086. When I edited this article I did not add Exchange 2007 with rangeUpper of 10628, as that seems to be pre-RTM.