オブジェクト クラスの特徴
Active Directory ドメイン サービスの各オブジェクト クラスは、スキーマ コンテナーの classSchema オブジェクトによって定義されます。 classSchema オブジェクトの属性では、次のようなクラスの特性を指定します。
- クラス識別子: クラスには、LDAP クライアントが検索フィルターでクラスを識別するために使用する ldapDisplayName およびクラスへのアクセスを制御するセキュリティ記述子で使用されている schemaIDGUID など、いくつかの識別子があります。
- 可能な属性: オブジェクト クラス定義には、クラスのインスタンスに設定できる必須属性とオプションの属性のリストが含まれています。
- 考えられる親: ディレクトリ階層のルートを除くすべてのオブジェクト インスタンスには、親が 1 つだけあります。 オブジェクト クラスの定義には、可能性のある親のリスト、つまり、そのクラスのインスタンスを含むことができるオブジェクト クラスのリストが含まれます。
- スーパークラスおよび補助クラス: すべてのオブジェクト クラス (top を除く) は他のクラスから派生しています。 クラスは、クラス階層の上のクラスから可能な属性と可能な親を継承します。 クラスはまた、可能な属性のリストを継承する補助クラスをいくつでも持つことができる。 詳細については、「Active Directory スキーマでのクラス継承」を参照してください。
次の表に、lDAPDisplayName や classSchema オブジェクトの主要な属性の説明を表示します。 classSchema オブジェクトの必須属性とオプションの属性の詳細および全一覧については、「classSchema」を参照してください。
lDAPDisplayName | 説明 |
---|---|
cn | Active Directory ドメイン サービスのすべてのオブジェクトには、相対識別名 (RDN) が形成される名前属性があります。 classSchema オブジェクトの名前属性は cn (共通名) です。 cn に割り当てられた値は、オブジェクト クラスの RDN 値になります。 たとえば、organizationalUnit オブジェクト クラス の cn は Organizational-Unit であり、CN=Organizational-Unit という識別名として表されます。 cn は、スキーマ コンテナー内で一意である必要があります。 |
lDAPDisplayName | ADSI LDAP プロバイダーなどの LDAP クライアントがクラスを参照するために使用する名前。たとえば、検索フィルターでクラスを指定します。 クラスの lDAPDisplayName は、スキーマ コンテナー内で一意である必要があります。つまり、すべての classSchema オブジェクトおよび attributeSchema オブジェクトで一意である必要があります。 新しいクラスの cn と lDAPDisplayName を作成する方法の詳細については、「属性とクラスの名前付け」を参照してください。 |
schemaIDGUID | オクテット文字列として格納される GUID。 この GUID はクラスを一意に識別します。 この GUID をアクセス制御エントリで使用して、このクラスのオブジェクトへのアクセスを制御できます。 詳細については、「子オブジェクト操作に対する権限の設定」を参照してください。 classSchema オブジェクトを作成すると、その値が Active Directory サーバーにより生成されます (指定されていない場合)。 新しいクラスを作成する場合、各クラスの独自の GUID を生成します。これで、拡張機能の全てのインストールに対して同じ schemaIDGUID を使用してクラスを参照できます。 |
adminDisplayName | 管理ツールで使用するクラスの表示名。 クラスの作成時に adminDisplayName が指定されていない場合、システムは Common-Name 値を表示名として使用します。 この表示名は、クラスの表示指定子の classDisplayName プロパティにマッピングが存在しない場合にのみ使用されます。 詳細については、表示指定子およびクラスと属性の表示名を参照してください。 |
governsID | クラスの OID。 この値は、すべての classSchema オブジェクトの governsID とすべてのの attributeSchema オブジェクトの attributeID の間で一意である必要があります。 詳細については、「オブジェクト識別子」を参照してください。 |
rDnAttId | 命名属性を識別します。これは、既定 (cn) と異なる場合にこのクラスの RDN を提供する属性です。 cn 以外の命名属性の使用は推奨されません。 命名属性は、すべての LDAP バージョン 3 クライアントが理解できる既知のセット (OU、CN、O、L、および DC) から取得する必要があります。 詳細については、オブジェクト名と ID」および「Active Directory ドメイン サービスの属性の構文」を参照してください。 命名属性はディレクトリ文字列構文でなければなりません。 詳細については、「Active Directory ドメイン サービスの属性の構文」を参照してください。 |
mustContain, systemMustContain | このクラスのインスタンスに存在しなければならない属性を指定する多値プロパティの組。 これらは作成時に存在しなければならない必須属性であり、作成後にクリアすることはできない。 クラス作成後、これらのプロパティを変更することはできません。 クラスの必須属性のフル セットは、このクラスとすべての継承されたクラスの systemMustContain および mustContain 値の和集合です。 |
mayContain, systemMayContain | このクラスのインスタンスに存在してもよい属性を指定する多値プロパティの組。 これらは必須ではないオプションの属性であり、したがってこのクラスのインスタンスに存在してもしなくてもよい。 既存のカテゴリ 1 またはカテゴリ 2 の classSchema オブジェクトから mayContain を追加または削除できます。 classSchema オブジェクトから mayContain 値を削除する前に、オブジェクト クラスのインスタンスを検索し、削除しようとしている属性の値をすべてクリアする必要があります。 クラスの作成後は、systemMayContain プロパティは変更できません。 クラスのオプション属性のフル セットは、このクラスとすべての継承されたクラスの systemMayContain および mayContain 値の結合です。 |
possSuperiors, systemPossSuperiors | このクラスのインスタンスの法的な親になることができる構造クラスを指定する多値プロパティのペア。 可能な上位クラスの完全なセットは、このクラスと継承された構造クラスまたは抽象クラスの systemPossSuperiors 値と possSuperiors 値の結合です。 systemPossSuperiors possSuperiors 既存のカテゴリ 1 またはカテゴリ 2 の classSchema オブジェクトから possSuperiors 値を追加または削除できます。 クラスの作成後は、systemPossSuperiors プロパティを変更できません。 |
objectClassCategory | クラスのカテゴリを指定する整数値。次のいずれかになります。
|
subClassOf | このクラスの直接のスーパークラス、つまり、このクラスの派生元のクラスの OID。 構造クラスについては、subClassOf は構造または抽象クラスになります。 抽象クラスについては、subClassOf は抽象クラスのみになります。 補助クラスについては、subClassOf は抽象または補助クラスになります。 新しいクラスを定義する場合は、subClassOf クラスが存在するか、新しいクラスがディレクトリに書き込まれるときに存在することを確認してください。 クラスが存在しない場合、classSchema オブジェクトはディレクトリに追加されません。 |
auxiliaryClass, systemAuxiliaryClass | このクラスが継承する補助クラスを指定する多値プロパティのペア。 補助クラスの完全なセットは、このクラスとすべての継承されたクラスの systemAuxiliaryClass と auxiliaryClass 値の和集合です。 既存の classSchema オブジェクトの場合、値は auxiliaryClass プロパティに追加できますが、削除することはできません。 クラス作成後、systemAuxiliaryClass プロパティを変更することはできません。 |
defaultObjectCategory | このオブジェクト クラスまたはそのスーパークラスの 1 つの識別名。 このオブジェクト クラスのインスタンスが作成されると、システムは新しいインスタンスの objectCategory プロパティを、そのオブジェクト クラスの defaultObjectCategory プロパティで指定された値に設定します。 objectCategory プロパティは、オブジェクト クラスの検索効率を高めるために使用されるインデックス付きプロパティです。 クラスの作成時点での defaultObjectCategory を指定しない場合、システムによってこのクラスの classSchema オブジェクトの識別名 (DN) に設定されます。 このオブジェクトがオブジェクト自体のクラスではなくスーパークラスの値によって頻繁にクエリされる場合は、defaultObjectCategory をスーパークラスの DN に設定できます。 たとえば、事前定義された (カテゴリ 1) クラスをサブクラス化する場合、ベスト プラクティスは、defaultObjectCategory をスーパークラスと同じ値に設定することです。 これにより、標準 UI でサブクラスを「検索」できるようになります。 詳細については、「オブジェクト クラスとオブジェクト カテゴリ」を参照してください。 |
defaultHidingValue | このクラスの新しいインスタンスの showInAdvancedViewOnly プロパティのデフォルト設定を指定するブール値。 多くのディレクトリ オブジェクトはエンド ユーザーにとって興味深いものではありません。 これらのオブジェクトによって UI が乱雑にならないように、各オブジェクトには showInAdvancedViewOnly というブール属性があります。 defaultHidingValue が TRUE に設定されている場合、オブジェクトの新しいインスタンスは管理スナップインと Windows シェルで非表示になります。 オブジェクトクラスの displaySpecifier オブジェクトに適切な作成ウィザード プロパティが設定されていても、管理スナップインの [新規] コンテキスト メニューにオブジェクト クラスのメニュー項目が表示されません。 defaultHidingValue が FALSE に設定されている場合、オブジェクトの新しいインスタンスは管理スナップインと Windows シェルで表示になります。 このプロパティを FALSE に設定すると、管理スナップインとシェルでクラスのインスタンスが表示され、管理スナップインの新規メニューで作成ウィザードとそのメニュー項目が有効になります。 defaultHidingValue 値が設定されていない場合、既定は TRUE です。 |
systemFlags | クラスの追加プロパティを定義するフラグを含む整数値。 0x10 ビットは、カテゴリ 1 クラス (システムに含まれる基本スキーマの一部であるクラス) を識別します。 このビットは設定できません。つまり、このビットはカテゴリ 2 クラス (スキーマの拡張) では設定されません。 |
systemOnly | Active Directory サーバーのみがクラスを変更できるかどうかを指定するブール値。 システム専用クラスは、ディレクトリ システム エージェント (DSA) によってのみ作成または削除できます。 システム専用クラスは、システムが通常のオペレーションで依存するクラスです。 |
defaultSecurityDescriptor | このクラスの新しいオブジェクトのデフォルトのセキュリティ記述子を指定します。 詳細については、「既定のセキュリティ記述子」や「新しいディレクトリ オブジェクトにセキュリティ記述子を設定する方法」を参照してください。 |
isDefunct | クラスが無効であるかどうかを示すブール値。 詳細については、既存のクラスと属性の無効化を参照してください。 |
説明 | 管理アプリケーションで使用するクラスのテキスト説明。 |
objectClass | オブジェクトがインスタンスであるオブジェクト クラスを識別します。これは、すべてのクラス定義に対応する classSchema オブジェクト クラス、およびすべての属性定義に対応する attributeSchema オブジェクト クラスです。 |