Share via


新しい属性の定義

このトピックでは、Active Directoryスキーマを拡張するときに新しい属性を定義する方法について説明します。

新しい属性を定義するときは、次の点を考慮してください。

  • 可能な場合は、既存の属性を使用します。
  • 名前付け (相対識別名) 属性としては、常にcn("共通名")プロパティを使用します。 これは、Topから直接派生したクラスを含む、ほとんどのクラスの既定値です。 cnプロパティはインデックス付きプロパティであり、名前によるオブジェクトの検索がより効率的になります。
  • 大きな複数値属性は、格納と取得にコストがかかるため、使用しないでください。 Active Directory Domain Servicesは、複数の値を持つ大きなプロパティの増分読み取りを可能にするLDAP拡張機能を実装していますが、すべてのLDAPクライアントがこの拡張機能を認識するわけではありません。
  • 属性はフラットであり、属性に暗黙的なサブ構造がないことに注意してください。 特定のクラスのすべての属性は、そのクラスのインスタンスに直接関連付ける必要があります。

新しい属性の作成

新しい属性を作成するには、次の手順を実行します。

  • 属性の名前を選択します。 この名前は、cn属性とlDAPDisplayName属性に含まれます。 新しい属性の名前を作成する方法の詳細については、 「属性とクラスの名前付け」 を参照してください。

  • 属性のオブジェクト識別子 (OID) を取得します。 詳細については、 「ルートオブジェクト識別子の取得」 を参照してください。

  • 属性の構文を選択します。 構文は、oMSyntax属性とoMObjectClass属性の組み合わせによって決まります。 詳細については、 「構文の選択」 を参照してください。

  • 属性が単一値か複数値かを決定します。 isSingleValued属性は、属性が単一値か複数値かを決定します。

  • 属性に既定でインデックスを付けるかどうかを決定します。 詳細については、「インデックス付き属性」を参照してください。

  • 属性を既定でグローバルカタログに含めるかどうかを決定します。 詳細については、 「グローバルカタログに含まれる属性」 を参照してください。

  • 属性が整数または文字列の場合は、範囲の制限が必要かどうかを決定します。 rangeLower属性とrangeUpper属性は、範囲の制限を指定するために使用されます。

  • 属性がDN値の場合は、属性を別の属性にリンクする必要があるかどうかを決定します。 その場合は、linkID属性を各属性に適切に設定する必要があります。一方の属性は順方向リンクで、もう一方は逆方向リンクである必要があります。 リンク属性の詳細については、 「リンク属性」 を参照してください。

  • スキーマコンテナーに新しいattributeSchemaオブジェクトを作成し、オブジェクトに適切な属性を設定します。 attributeSchemaオブジェクトに設定できる属性は多数ありますが、次の表に示す属性は、新しい属性の定義に不可欠です。 これらの属性の値は、前の手順で決定されます。 これらの属性の詳細については、 「属性の特性」 を参照してください。

    Attribute コメント
    cn
    必須。
    lDAPDisplayName
    必須。
    adminDisplayName
    必須。
    attributeSyntax
    必須。
    oMSyntax
    必須。
    oMObjectClass (オブジェクトクラス)
    必須。
    schemaIDGUID
    必須。
    attributeID
    必須。
    isSingleValued
    必須。
    searchFlags
    必須。
    isMemberOfPartialAttributeSet
    必須。
    rangeLower
    省略可能。
    rangeUpper
    省略可能。
    linkID
    省略可能。 リンク属性に必要です。
    説明
    省略可。
  • 新しいattributeSchemaオブジェクトをスキーマコンテナーにコミットします。

  • 必要に応じて、スキーマキャッシュを更新します。 詳細については、 「スキーマキャッシュの更新」 を参照してください。