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.
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.
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.
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.
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
You can find a script checking one or all DCs in your environment for a given directory versions in the TechNet Gallery at:
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.
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.
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.
Great article Henrik
Thanks Fernando. Let me know if you think there's anything missing...
Great and wonderfull !
Congratulations Henrik and thanks you
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.
Thanks for the contribution, Richard!
Is kb article 556086 in error? Or is it not possible to have Exchange 2003 sp3 with rangeUpper 6936?
Great Work !
Exchange 2013 information missing...
Exchange Version rangeUpper objectVersion objectVersion
Exchange 2013 15137 15449 13236