1

How To Check Exchange Schema And Object Values In AD

This content was extracted from a separate upcoming Exchange 2013 schema post to maintain focus on viewing the Exchange schema attributes.

Exchange 2013 admins should assume that a Cumulative Update (CU) will have AD schema updates.  The release notes and release blog post will discuss this in detail for each CU.  This is very similar to the Exchange 2007/2010 service packs of old.

Table Of Exchange 2013 Schema Versions

TechNet documents the expected values for the various Exchange 2013 objects in AD.

Exchange Version

msExchProductId

rangeUpper

MESO objectVersion

Organisation objectVersion

Exchange 2013 RTM 15.00.0516.032 15137 13236 15449
Exchange 2013 CU1 15.00.0620.029 15254 13236 15614
Exchange 2013 CU2 15.00.0712.024 15281 13236 15688
Exchange 2013 CU3 15.00.0775.038 15283 13236 15763
Exchange 2013 SP1 15.00.0847.032 15292 13236 15844
Exchange 2013 CU5 15.00.0913.022 15300 13236 15870
Exchange 2013 CU6 15.00.0995.029 15303 13236 15965
Exchange 2013 CU7 15.00.1044.025 15312 13236 15965
Exchange 2013 CU8 15.00.1076.009 15312 13236 15965
Exchange 2013 CU9 15.00.1104.005 15312 13236 15965
Exchange 2013 CU10 15.00.1130.007 15312 13236 16130
Exchange 2013 CU11 15.00.1156.006 15312 13236 16130
Exchange 2013 CU12 15.00.1178.004 15312 13236 16130
Exchange 2013 CU13 15.00.1210.003 15312 13236 16130
Exchange 2013 CU14 15.00.1236.003 15312 13236 16130
Exchange 2013 CU15 15.00.1263.005 15312 13236 16130
Exchange 2013 CU16 15.00.1293.002 15312 13236 16130
Exchange 2013 CU17 15.00.1320.004 15312 13236 16130
Exchange 2013 CU18 15.00.1347.002 15312 13236 16130
Exchange 2013 CU19 15.00.1365.001 15312 13236 16130
Exchange 2013 CU20 15.00.1367.003 15312 13236 16130

For Exchange 2007 and 2010 Schema details please review this article.

Methods To Check Schema And AD Object Values

We can check the Exchange values stored in the AD schema version in a few ways.  For example we could use

  • DSQuery
  • LDP.exe
  • ADSIEdit

Examples to check the ms-Exch-Schema-Version-Pt are shown below.

DSQuery

Can execute DSQuery commands to quickly get the required attribute data.  For example this queries the ms-Exch-Schema-Version-PT schema object and retrieves the rangeUpper data.

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

LDP.exe

  1. In Ldp, click Bind on the Connection menu.
  2. In the Bind type area, click Bind as currently logged on user, and then click OK.
  3. On the View menu, click Tree.
  4. In the Tree View dialog box, select CN=Schema,CN=Configuration,DC=contoso,DC=comin the BaseDN list, and then click OK.
  5. Expand the schema node in the navigation pane, and then click ms-Exch-Schema-Version-Pt.
  6. If the ms-Exch-Schema-Version-Pt schema attribute is not listed, click General on the Options menu, increase the value of the Max children buffer size, click OK, and then repeat the previous step.  This should be 1,000 by default.
  7. In the right pane, scroll down to the bottom and locate the rangeUpper attribute

ADSI Edit

  1. In the ADSI Edit console, right-click ADSI Edit in the navigation pane, and then click Connect to.
  2. In the Connection Settings dialog box, select Schema in the Select a well known Naming Context list, and then click OK.
  3. Expand the schema node in the navigation pane, and then click CN=Schema,CN=Configuration,DC=contoso,DC=com.
  4. Right-click CN=ms-Exch-Schema-Version-Pt, and then click Properties.
  5. On the property page, locate rangeUpper in the Attribute list

Command Line Example Using DSQuery

In this post let's use the DSQuery method since it is easy to script and then screenshot since we will be checking the attributes multiple times.  We also want to take a look at multiple objects.  Bhargav blogged about this previously.  We will also look at the msExchangeproductId attribute that is listed in the verification steps in TechNet.  The  full location of the four attributes we will look at are:

rangeUpper attribute of ms-Exch-Schema-Version-Pt object in Schema Naming Context

objectVersion attribute of Organization container in Configuration Naming Context

msExchProductId attribute of Organization container in Configuration Naming Context

objectVersion attribute on Microsoft Exchange System Objects container in Domain Naming Context

To do so, we can use the following queries in the Contoso.com lab:

DSQUERY.exe * "CN=ms-Exch-Schema-Version-Pt,CN=schema,CN=configuration,DC=Contoso,DC=com" -Scope base -Attr rangeUpper

DSQUERY.exe * "CN=Contoso,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=com" -Scope base -Attr objectVersion

DSQUERY.exe * "CN=Contoso,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=com" -Scope base -Attr msExchProductId

DSQUERY.exe * "CN=Microsoft Exchange System Objects,DC=Contoso,DC=com" -Scope base -Attr objectVersion

Or  as a separate example, the Wingtiptoys.ca lab.

DSQUERY.exe * "CN=ms-Exch-Schema-Version-Pt,CN=schema,CN=configuration,DC=Wingtiptoys,DC=ca" -Scope base -Attr rangeUpper

DSQUERY.exe * "CN=Microsoft Exchange System Objects,DC=Wingtiptoys,DC=ca" -Scope base -Attr objectVersion

DSQUERY.exe * "CN=Wingtiptoys,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Wingtiptoys,DC=ca" -Scope base -Attr msExchProductId

DSQUERY.exe * "CN=Wingtiptoys,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Wingtiptoys,DC=ca" -Scope base -Attr objectVersion

Adjust the commands to suit, unless you do happen to work for Contoso or Wingtiptoys……

Cheers,

Rhoderick

Rhoderick Milne [MSFT]

One Comment

  1. Great article, here is an alternative PowerShell command to retrieve the Exchange Schema version...

    $RootDSE=([ADSI]"LDAP://CN=ms-Exch-Schema-Version-Pt,CN=Schema,CN=Configuration,DC=Contoso,DC=com").rangeUpper

Leave a Reply

Your email address will not be published. Required fields are marked *