Dynamische Schemaaktualisierungen und -überprüfungen in Exchange 2007 SP2

 

Gilt für: Exchange Server 2007 SP2

Letztes Änderungsdatum des Themas: 2012-03-26

Der Active Directory-Treiber (Microsoft.Exchange.Data.Directory.Dll) in Exchange Server 2007 ist die Schnittstelle, die von verwaltetem Exchange-Code für den Zugriff auf die Konfiguration in Active Directory verwendet wird. Die Objekte in den Active Directory-Containern weisen Eigenschaften auf, die direkt von den Attributen abgeleitet oder aus Attributen berechnet werden. Die von den Objekten bereitgestellten Eigenschaften können als Cmdlet-Parameter exportiert werden.

Normalerweise sind die Active Directory-Schemadefinitionen relativ statisch. Wenn eine Aktualisierung ausgeführt wird, die neue Konfigurationsdaten umfasst, besteht die aktuelle Methode im Implementieren dieser Einstellungen in einer Datei App.config (XML-Werte in einer XML-Datei). Diese Vorgehensweise ist jedoch für Fehler anfällig und nicht effizient skalierbar.

Der in Microsoft Exchange Server 2007 Service Pack 2 (SP2) enthaltenen Active Directory-Treiber unterstützt nun Folgendes:

  • Das Hinzufügen von Attributen, die von Schemaänderungen unabhängig sind.

  • Die Möglichkeit, auf Attribute zu verweisen, die ggf. im Schema nicht vorhanden sind. Der Treiber ermöglicht außerdem, dass verwalteter Exchange-Code funktioniert, wenn ein neues Attribut gelesen und das Schema nicht erweitert wird. In diesem Fall gibt der Active Directory-Treiber den Standardwert zurück, wenn ein Attribut nicht für das Objekt festgelegt oder nicht im Schema vorhanden ist. Standardmäßig wird für Attribute, die hinzugefügt werden und nicht im Schema vorhanden sind, während eines Lesevorgangs ein Standardwert bereitgestellt.

  • Kompatibilität mit Microsoft Exchange Server 2010-Code. 

  • Vor Exchange 2007 SP2 führte das Schreiben eines nicht im Schema vorhandenen Attributs zu einer Beschränkungsverletzung. Der in Exchange 2007 SP2 enthaltene Active Directory-Treiber stellt dynamischen Überprüfungscode zur Verfügung, der zusätzliche Überprüfungen für neue Attribute ausführt, wobei das Schema das Attribut ggf. nicht als Wert enthält.

    Wenn Sie versuchen, ein Attribut zu ändern, das nicht im Parameter mayContain enthalten ist, wird ein Ausnahmefehler ausgelöst. Der aktualisierte Active Directory-Treiber stellt weitere Einzelheiten zum Ausnahmefehler zur Verfügung. Beispiel:

    SchemaNotExtended(string objectClass, string objectAttribute, string udpateAdded)=Objektklasse {0} enthält das Attribut {1} nicht als gültigen mayContain-Eintrag. Sie müssen das Schema mit Updates von {2} erweitern, um dieses Attribut festzulegen.

    Dabei ist 0 die am meisten abgeleitete Objektklasse, und 1 ist der LDAP-Attributname, der nicht vorhanden ist. 2 ist der nicht lokalisierte Aktualisierungsname unter dem der Wert hinzugefügt wurde.