Exchange 2007 SP2 での動的なスキーマの更新および検証

 

適用先: Exchange Server 2007 SP2

トピックの最終更新日: 2012-03-26

Exchange Server 2007 の Active Directory ドライバ (Microsoft.Exchange.Data.Directory.Dll) は、Active Directory の構成にアクセスするために Exchange マネージ コードによって使用されるインターフェイスです。Active Directory コンテナ内のオブジェクトは、属性から直接派生したプロパティ、または属性から計算されたプロパティを公開します。オブジェクトによって公開されたプロパティは、コマンドレット パラメータとしてエクスポートできます。

通常、Active Directory スキーマ定義は非常に静的です。新しい構成データを含む更新プログラムが発行された場合、現在の方法では、これらの設定を App.config ファイル (XML ファイルの XML 値) に実装します。しかし、このアプローチはエラーを招く傾向があり、効率的に拡張できません。

Microsoft Exchange Server 2007 Service Pack 2 (SP2) に含まれている Active Directory ドライバでは、次のことがサポートされます。

  • スキーマ変更に依存しない属性の追加。
  • スキーマに存在しない可能性がある属性を参照する機能。このドライバは、新しい属性が読み取られ、スキーマが拡張されない場合に Exchange マネージ コードを機能させることも可能です。この場合、属性がオブジェクトに設定されていないか、スキーマに存在しないときは、Active Directory ドライバは既定値を返します。既定では、スキーマに存在しない属性が追加された場合、その属性は、読み取り操作中に既定値を提供します。
  • Microsoft Exchange Server 2010 コードとの互換性。
  • Exchange 2007 SP2 以前では、スキーマに存在しない属性への書き込みは、制約違反になっていました。Exchange 2007 SP2 に含まれている Active Directory ドライバでは、動的検証コードが導入されています。このコードは、新しい属性がスキーマに値として含まれていない場合に、その属性に対して追加の検証を実行します。
    mayContain パラメータに存在しない属性を変更しようとすると、例外エラーが発生します。更新された Active Directory ドライバでは、例外エラーに関するより詳細な情報が提供されます。次に例を示します。
    SchemaNotExtended(string objectClass, string objectAttribute, string udpateAdded)=Object class {0} does not contain attribute {1} as a valid mayContain entry.You must extend the schema with updates from {2} to set this attribute.
    0 は派生オブジェクト クラスで、1 は存在しない LDAP 属性名です。2 は、値が追加された更新プログラムのローカライズされない名です。

参照している情報が最新であることを確認したり、他の Exchange Server 2007 ドキュメントを見つけたりするには、Exchange Server TechCenter を参照してください。