2

Active Directory で動作するコードを書いています。このコードには、アカウント名を指定してユーザーを引き戻し、直属の部下を取得し、グループ メンバーシップを取得する関数が含まれています (これらは、完全な階層が必要かどうかに応じて、再帰的または非再帰的に実行できます)。これを行う方法についていくつかの回答を見てきました。ただし、すべての回答は識別名に依存しているようです。

識別名は、Active Directory 内のこれらのオブジェクトを関連付けるために使用される (データベース用語での) 外部キーですか? 私の直感では、objectGuid がアイテムを相互に関連付けるために使用されるキーになることが示唆されています。結果として、DN 経由で objectGuid を使用するようにクエリを書き直した場合、パフォーマンスが向上すると思います。

  • objectGuid でユーザー/グループを含むグループを照会することは可能ですか?
  • 特定のマネージャー (objectGuid) の直属部下の objectGuid を照会することは可能ですか。
  • objectGuid クエリは他の属性よりもパフォーマンスが優れていますか? または、DN、sAMAccountName、またはその他のキー属性の 1 つが、パフォーマンスの観点から使用するのに最適なキーですか?
  • 上記の回答はほとんどの (すべての?) LDAP 実装に当てはまりますか、それとも MS AD に固有のものですか?

前もって感謝します、

JB

ps。私の質問のほとんどと同様に、パフォーマンスの違いはおそらくごくわずかです。これは、学術的な興味/好奇心を満たすためのものです。

4

1 に答える 1

7

アプリケーションがActiveDirectoryドメインサービスに格納されているオブジェクトの識別子または参照を格納またはキャッシュする場合、オブジェクトGUIDは、いくつかの理由で使用するのに最適な識別子です。

  • オブジェクトの名前を変更したり移動したりしても、onオブジェクトのobjectGUIDプロパティは変更されません。
  • オブジェクトGUIDを使用してオブジェクトにバインドするのは簡単です。
  • オブジェクトの名前が変更されたり移動されたりした場合、objectGUIDプロパティは、オブジェクトを識別するすべてのプロパティの条件を持つクエリを作成するのではなく、オブジェクトをすばやく見つけて識別するために使用できる単一の識別子を提供します。

一方、オブジェクトの名前を変更したり移動したりすると、オブジェクトの識別名が変わるため、識別名は信頼できるオブジェクト識別子ではありません。したがって、 objectGUID
を使用してディレクトリを検索する必要があるのは、パフォーマンスではなく、信頼性です。

あなたの次の質問に来る:

objectGuidによってユーザー/グループを含むグループを照会することは可能ですか?

もちろんはい。このリンクを確認してください。
それが役に立てば幸い !!

于 2012-10-05T16:36:54.697 に答える