Active Directory Schema

Hello,

Active Directory Schema is updated at each Windows Server release. Each of those schema updates brings us some new features to our forests. This is the same for Exchange and Skype (formerly known as Lync or Office Communication Services). Those schema updates bring new attributes and classes in your Active Directory Schema, you can identify which version of those update are injected in your schema by looking at a special location in your forest.

Active Directory Schema

You need to look at the “ObjectVersion” on the schema naming context :

Get-ADObject (Get-ADRootDSE).schemanamingcontext -Properties objectversion
Active Directory Schema

Active Directory Schema

Here, the object version is 85, to get the friendly name you can use that table :

30 Windows Server 2003 RTM, Windows Server 2003 with Service Pack 1, Windows Server 2003 with Service Pack 2
31 Windows Server 2003 R2
44 Windows Server 2008 RTM
47 Windows Server 2008 R2
56 Windows Server 2012 RTM
69 Windows Server 2012 R2
72 Windows Server 2016 Technical Preview
81 Windows Server 2016 Technical Preview 2
82 Windows Server 2016 Technical Preview 3
85 Windows Server 2016 Technical Preview 4

Exchange Schema

For Exchange, you need to look out for for the “RangeUpper” attribute on an Exchange object on the schema naming context :

Get-ADObject "CN=ms-Exch-Schema-Version-Pt,$((Get-ADRootDSE).schemaNamingContext)" -Properties RangeUpper
Active Directory Schema for Exchange

Active Directory Schema for Exchange

Again, to get the friendly name of the Exchange schema version you can use that table :

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
10637 Exchange Server 2007 RTM
11116 Exchange 2007 SP1
14622 Exchange 2007 SP2 or Exchange 2010 RTM
14625 Exchange 2007 SP3
14726 Exchange 2010 SP1
14732 Exchange 2010 SP2
14734 Exchange 2010 SP3
15137 Exchange 2013 RTM
15281 Exchange 2013 CU2
15281 Exchange 2013 CU3
15292 Exchange 2013 SP1
15312 Exchange 2013 CU7
15317 Exchange 2016

Skype Schema

For Skype, this is also the “RangeUpper” attribute, but on a Skype object in the schema naming context :

Get-ADObject "CN=ms-RTC-SIP-SchemaVersion,$((Get-ADRootDSE).schemaNamingContext)" -Properties RangeUpper
Active Directory Schema for Skype

Active Directory Schema for Skype

And here is the final table :

1006 LCS 2005
1007 OCS 2007 R1
1008 OCS 2007 R2
1100 Lync Server 2010
1150 Lync Server 2013

All of those tables are in constant change, nearly each new product version releases bring new schema modifications.

Leave a Reply