Exchange Powershell: Prüfen der Exchange Schema Version

Problem:
Bei der Installation eines kumulativen Updates der Exchange Server ist meistens nicht ganz klar, ob ein Schema Update nötig ist oder nicht. Microsoft gibt meistens die nötige Schema Version an.

Lösung:
Um zu prüfen, ob ich die richtige Version bereits verwende, habe ich mir ein PowerShell-Skript geschrieben, das die Exchange Schema Version ausgibt:

# Exchange Schema Version

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn

$sc = (Get-ADRootDSE).SchemaNamingContext
$ob = "CN=ms-Exch-Schema-Version-Pt," + $sc
$ru = "RangeUpper: $((Get-ADObject $ob -pr rangeUpper).rangeUpper)"

$dc = (Get-ADRootDSE).DefaultNamingContext
$ob = "CN=Microsoft Exchange System Objects," + $dc
$ovd = "ObjectVersion (Default): $((Get-ADObject $ob -pr objectVersion).objectVersion)"

$cc = (Get-ADRootDSE).ConfigurationNamingContext
$fl = "(objectClass=msExchOrganizationContainer)"
$ovc = "ObjectVersion (Configuration): $((Get-ADObject -LDAPFilter $fl -SearchBase $cc -pr objectVersion).objectVersion)"

Write-Output $ru $ovd $ovc


Eine schöne Übersicht der jeweiligen Schema Version findet ihr bei Ali:
Ali Tajran: Exchange schema versions (up to date list)
“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”
Gene Spafford (Sicherheitsexperte)