次の方法で共有


スキーマを拡張するタイミング

アプリケーションの要件を満たす既存のオブジェクト クラスがない場合にのみ、スキーマを拡張します。 スキーマの拡張は複雑な操作です。スキーマの変更は、エンタープライズ フォレスト内のすべてのドメイン コントローラーにレプリケートされます。 これは慎重に検討してください。

スキーマは、次の 3 つの方法で拡張できます。

  • 既存のクラスから新しいサブクラスを派生させます。サブクラスには、スーパークラスのすべての属性と指定した属性があります。 既存のクラスから派生します。
    • 既存のクラスが追加の属性を必要とするが、それ以外の場合は許容される場合。
    • クラスの既存のオブジェクトを新しいクラスに変換する機能が不要な場合。 サブクラスを既存のオブジェクトに追加することはできません。
    • 既存のディレクトリ マネージャー スナップインを使用して、オブジェクトの拡張属性を管理します。
  • 既存のクラスに属性を追加したり、クラスの親オブジェクトを追加したりします。 複数の属性を追加する場合は、補助クラスを定義し、その補助クラスを既存のクラスに追加することによって、構造化された方法でこの操作を実行します。
  • アプリケーションでクラスの既存のオブジェクトを拡張する機能が必要な場合は、既存のクラスを変更する必要があります。 たとえば、アプリケーション固有のデータを User オブジェクトに追加するには、アプリケーションによって作成された特殊なユーザーだけでなく、既存のユーザーを処理する必要があるため、User クラスを通常どおりに拡張します。
  • 必要な属性を持つ新しいクラスを作成します。 新しいクラスを作成します。つまり、既存のクラスが運用要件を満たしていない場合に "Top" から派生したクラスです。

既存のクラスをサブクラス化する場合、元のクラスに関連付けられているユーザー インターフェイス項目はサブクラスによって継承されません。 たとえば、ユーザー オブジェクトをサブクラス化した場合、ユーザーに関連付けられているプロパティ ページとメニュー項目は継承されません。 このため、サブクラスを作成するのではなく、既存のオブジェクトを拡張するか、補助クラスを作成することをお勧めします。

既存のクラスをサブクラス化する場合も、既存のクラスを変更する場合でも、Active Directory ユーザーやコンピューター スナップインなどのツールを拡張して、オブジェクトの拡張属性を管理する必要があります。 詳細については、「ディレクトリ オブジェクトのユーザー インターフェイスの拡張」を参照してください。