Schemaerweiterungen von Exchange
Exchange 2000/2003 ist eine der ersten Anwendungen, die richtig das mit Windows 2000 bereit gestellt Active Directory nutzen. Dazu gehört auch, dass Exchange das Schema erweitert.
Eine Schemaerweiterung bedeutet eigentlich nur, dass die Definition der Datenbank angepasst wird. Die Datenbank besteht aus Klassen und Attributen.
Attribute sind quasi die Felder und deren Deklaration (Type, Wertebereiche) während eine Klasse ein späteres Objekt beschreibt und dabei auf Attribute verweist. So gibt es Pflichtattribute als auch optionale Attribute.
- Exchange 2016 Active Directory schema
changes
https://technet.microsoft.com/en-us/library/bb738144(v=exchg.160).aspx
CU7 enthält wieder ein paar Änderungen. Planen sie beim Update des ersten Servers den Schema-Admin mit ein. - How To Compare Exchange Schema Changes
https://blogs.technet.microsoft.com/rmilne/2017/10/03/how-to-compare-exchange-schema-changes/
Schema anzeigen und bearbeiten
Um das Schema zu lesen und zu bearbeiten ist LDAP das Mittel der Wahl. Allerdings kann man auch mit der MMC sehr einfach grafisch am Schema Änderungen vornehmen.
Sie benötigen aber die entsprechenden Rechte zum Lesen und ändern und selbst dann sollten Sie genau wissen was sie vorhaben. Eine Schemaerweiterung ist nicht wieder Rückgängig zu machen !!
Nach der Registrierung der DLL mittels "REGSVR32 SCHMMGMT.DLL" kann man in der MMC auch die "Active Directory Schema Extension" laden. Das ganze sieht dann etwa so aus:
Ich habe gleich die Klasse "User" angewählt. So können Sie direkt in der rechten Spalte erkennen, dass die Felder "sAMAccountName" und "objectSid" verbindliche Felder sind. Dies ist nur ein Ausschnitt des Schemas.
Schema erweitern und Versionsnummer
Sowohl Exchange 2000/2003, als auch der Active Directory Connector und der MIS-Server erweitern das Schema. Ob ein Programm das Schema verändert ist oft daran zu erkennen, dass es LDF-Dateien in der Installationsquelle gibt. Diese werden dann mit LDIFDE importiert. Exchange importiert gleich 10 LDF-Dateien nacheinander
Nun gibt es beim Schema ja keine "Versionsnummer", da Änderungen überall geschehen können. Trotzdem "merkt" sich Exchange an einigen Stellen, welche Version seiner eigenen Erweiterungen schon eingespielt sind. Dies ist notwendig, damit das Setup nicht erneut seine Erweiterungen einspielt und damit eine hohe Replikationslast verursacht. Mit Windows 2000 wird bei einer SchemaÄnderung der Globale Katalog neu aufgebaut.
Exchange realisiert das speichern dieser "Versionsnummer" sehr trickreich. Es definiert sich dafür ein eigenes Attribut, welches nicht genutzt wird. Aber in der Definition des Attributs wird ein Maximalwert hinterlegt und dieser ist zugleich die "Version" der aktuellen Exchange Erweiterungen. Durch diesen kleinen Trick nutzt Microsoft die Schemapartition indirekt zur Speicherung von Informationen.
Die Abfrage können Sie auch über die Kommandozeile mit dsquery durchführen.
dsquery * CN=ms-Exch-Schema-Version-Pt,cn=schema,cn=configuration,dc=yourdomain,dc=local -scope base -attr rangeUpper
Eine Übersicht der verschiedenen Schemaversionen finden Sie auf Exchange und Outlook Build Nummern
In dem obigen Beispiel ist zu sehen, dass die Version 6870 ist und damit die Exchange 2003 Erweiterungen schon installiert sind. Interessant ist auch, dass Exchange hier noch mit "Pt" geführt wird. Ein Tribut an den früheren Codenamen "Platinum". Auch der Mobile Information Server ist schon recht früh definiert worden.
Weitere Links
- Benutzerdefinierte Attribute in Exchange Server
https://learn.microsoft.com/de-de/exchange/recipients/mailbox-custom-attributes?view=exchserver-2019 -
Exchange Extension Attributes
Mit dem Exchange Schema kommen 15+30+5 benutzerdefinierte Felder mit, die sie nur eingeschränkt nutzen sollten - Exchange LDAP-Felder
- Active Directory Schema
http://msdn.Microsoft.com/library/default.asp?URL=/library/en-us/adschema/adschema/active_directory_schema.asp - Erweitern des Schemas
http://msdn.Microsoft.com/library/default.asp?URL=/library/en-us/ad/ad/extending_the_schema.asp - ms-Exch-Schema-Version-Pt Attribute
http://msdn.Microsoft.com/library/default.asp?URL=/library/en-us/e2k3/e2k3/e2k3_ldf_diff_attributeSchema_ms_Exch_Schema_Version_Pt.asp - Besonderes Attribute "Drink" im Schema seit Windows 2003
http://msdn.Microsoft.com/library/default.asp?URL=/library/en-us/adschema/adschema/a_drink.asp
"The drink (Favorite Drink) attribute type specifies the favorite drink of an object (or person)." - Exchange 2016 Active Directory schema
changes
https://technet.microsoft.com/en-us/library/bb738144(v=exchg.160).aspx
CU7 enthält wieder ein paar Änderungen. Planen sie beim Update des ersten Servers den Schema-Admin mit ein. - How To Compare Exchange Schema Changes
https://blogs.technet.microsoft.com/rmilne/2017/10/03/how-to-compare-exchange-schema-changes/