3

次のような構造があるとします。

A と B2 を除外するにはどうすればよいですか?

_users
|__A
|__B
   |__B1
   |__B2
   |__B3
|__C
|__D

ou=ユーザー、dc=ドメイン、dc=co、dc=uk;

4

6 に答える 6

6

LDAP 検索は、次の 4 つの要素で構成されます。

  1. 検索を開始するノード (ノードの識別名)
  2. 検索範囲 (ベース、ワンレベル、サブツリー)
  3. 検索のフィルター (例: (objectClass=user))
  4. 取得する属性。

Active Directory には、OU を再帰検索から除外する「自然な」方法はありません。

LDAP に関しては、理論的な観点から、ExtensibleMatchが存在し、やりたいことを可能にしますが、Active Directoryではサポートされていません。

于 2012-03-09T12:46:24.747 に答える
0

ディレクトリサーバーは非準拠であるため(JPが指摘しているように、ADは拡張可能な一致フィルターをサポートしていないため非準拠です)、エントリをAおよびに属するものとして識別する値を持つ属性がある場合B2は、検索フィルターを持つ属性を除外します。たとえば、 with値をA持つように従属するエントリの場合、フィルタは、ベースオブジェクト、スコープ、フィルタ、および必要な属性のリストで構成される検索を持つエントリを除外できます。同様のフィルターを作成して、エントリーを同時に除外することもできます。objectClassin-Aou=users, dc=domain, dc=co, dc=ukwhole subtree(!(objectClass=in-A))AB2

検索および検索フィルターの詳細については、「LDAP:検索フィルターのマスター」を参照してください。

于 2012-03-09T16:48:40.833 に答える
0

唯一の方法は、必要な OU または不要な OU にのみ特別な属性を設定することです。これらはほとんど使用されず、通常、この種の問題を管理するために「悪用」される可能性があるため、ユーザーのpager属性、またはコンピューターの physicalLocationObject を使用できます (実際に使用されていないかどうかを確認することを忘れないでください!! )。次に、これらの属性をフィルタリングして検索を実行し、次のようにそれらの OU を除外できます。(&(objectclass=user)(!(pager=*)))

もちろん、これは非効率的であり、正しい解決策は、必要なものに合わせて LDAP/AD 構造を並べ替えることです。

于 2013-09-10T15:14:52.807 に答える
0

私はこれを単純化しすぎているかもしれませんが、クエリから除外したい OU へのリスト/読み取りアクセスを拒否することもできませんか? 特定のサービス アカウントを使用してルックアップを実行していると仮定すると、これは機能するはずです。

于 2014-04-24T13:58:04.560 に答える