次の方法で共有


コンテナーと葉

Active Directory Domain Services には、ディレクトリ階層のルートを除くすべてのオブジェクト インスタンスが他のオブジェクトに含まれるオブジェクトの階層が含まれています。 この階層の構造は、ディレクトリとファイルのファイル システムよりも柔軟です。 代わりに、Active Directory スキーマの規則によって、どのオブジェクト クラスに他のオブジェクト クラスのインスタンスを含めることができるかを決定します。 たとえば、User オブジェクト クラスの既定のスキーマ定義には、組織単位のContainer オブジェクト クラスが含まれます。つまり、User オブジェクト インスタンスの親オブジェクトまたはコンテナーの可能性があります。 つまり、組織単位 オブジェクトには、User オブジェクトを含めることができますが、User オブジェクトには、User クラスのスキーマ定義が変更されていない限り、別の User オブジェクトを含めることはできません。

スキーマ オブジェクト、つまり、サーバー フォレストに存在できるクラスと属性を定義する classSchema または attributeSchema オブジェクトを除き、Active Directory Domain Services 内の任意のオブジェクトがコンテナーである可能性があります。 具体的には、オブジェクト クラス定義の possSuperiors または systemPossSuperiors属性に表示されるオブジェクト クラスは、コンテナーである可能性があります。 定義済みのオブジェクト クラスのコンテナーの詳細については、「Active Directory Domain Services リファレンス」を参照してください。 プログラムを使用して抽象スキーマにバインドし、IADsClass::get_Containment メソッドまたは IADsClass::get_PossibleSuperiors メソッドを使用して、特定のクラスに含めることができる、または含めることができるクラスを取得できます。 詳細については、「抽象スキーマ の読み取り」を参照してください。 また、任意のオブジェクト インスタンスの possibleInferiors 属性を読み取って、オブジェクトに含めることができるオブジェクト クラスを決定することもできます。 possibleInferiors は構築された属性です。つまり、possSuperiors/systemPossSuperiors 他のクラス定義の値から計算され、実際にはディレクトリに格納されません。

Active Directory スキーマでは、コンテナー クラスが定義されていることに注意してください。 前に説明したように、オブジェクトは、Container クラスのインスタンスである必要はありません。 Leaf クラスもあります。通常、このクラスのサブクラスはコンテナーではありませんが、できない理由はありません。

最後に、オブジェクト クラスに関連付けられている表示指定子にフラグを設定して、ユーザー インターフェイスが常にクラスのインスタンスをコンテナーではなくリーフとして表示する必要があることを示すことができます。 これにより、多すぎるコンテナーによってユーザー インターフェイスが乱雑になるのを防ぐことができます。 詳細については、「リーフ ノードとしてのコンテナーの表示」を参照してください。