Verify Exchange Server Schema Version
UPDATED Feb 25, 2014 to include Exchange 2013 Service Pack 1 information.
Since Microsoft has a dedicated TechNet article on this topic, I will no longer update this post. You can find updated information here: http://technet.microsoft.com/en-us/library/bb125224(v=exchg.150).aspx
When you run Exchange Setup to prepare schema, usually the very next question is, how do I verify schema was updated successfully? Verifying only the values of attributes as mentioned below is not a good verification of Exchange setup completion. This article is intended to only provide reference to attributes and their values.
Let’s start back at Exchange 2003 SP2.
One of the last actions setup /forestprep in Exchange 2003 is to set objectVersion attribute on Exchange organization container to a value of 6903. You can verify this using ADSIEdit and navigating to Configuration NC, Exchange organization object under services\Microsoft Exchange node.
On the other hand, when setup /domainprep is run, it sets the objectVersion attribute on Microsoft Exchange System Objects container to a value of 6936. You can verify this using ADSIEdit and navigating to Domain NC, Microsoft Exchange System Objects container.
In Exchange 2007, after successful run of Setup /PrepareSchema you will find that the attributes mentioned above are not changed! You need to verify the value of rangeUpper attribute of ms-Exch-Schema-Version-Pt object in Schema NC. The value should be 10637.
It is only when you run Setup /PrepareAD the objectVersion attribute of Organization container in Configuration NC is updated to a value of 10666. You will also find that objectVersion attribute on Microsoft Exchange System Objects container in Domain NC is set to a value of 10628.
You will also notice that Setup /PrepareDomain does not have any effect on these attribute values.
Here is the table of all versions I have tested and values of schema attributes I have observed in my setup. The list is in reverse order starting latest version first for readability.
|Exchange Version||RangeUpper value of ms-Exch-Schema-Version-Pt object (Schema NC)||ObjectVersion of Org Container (Config NC)||ObjectVersion of Microsoft Exchange System Objects (Domain NC)|
|Exchange 2013 SP1 (CU4)||15292||15844||13236|
|Exchange 2013 CU3||15283||15763||13236|
|Exchange 2013 CU2||15281||15688||13236|
|Exchange 2013 CU1||15254||15614||13236|
|Exchange 2013 RTM||15137||15449||13236|
|Exchange 2010 SP3||14734||14322||13040|
|Exchange 2010 SP2||14732||14247||13040|
|Exchange 2010 SP1||14726||13214||13040|
|Exchange 2010 RTM||14622||12640||12639|
|Exchange 2007 SP3||14625||11222||11221|
|Exchange 2007 SP2||14622||11222||11221|
|Exchange 2007 SP1||11116||11221||11221|
|Exchange 2007 RTM||10637||10666||10628|
|Exchange 2003 SP2||6870||6903||6936|
I have not tested anything before Exchange 2003 SP2, however, Exchange Schema Versions wiki page does keep tab on all versions as well and is a great reference for more details than just version numbers.