web-dev-qa-db-ja.com

LDAPフィルター構文を使用してExchange配布グループのメンバーにクエリを実行するにはどうすればよいですか?

アプリケーションへのアクセスにいくつかのExchange配布リストを使用しようとしています(この特定の企業の文化により、リストは多くのセキュリティグループよりも人々が出入りすることで最新の状態に保たれています)。

ここでの問題は、リストメンバーを取得するフィルターを作成できないように見えることです。

たとえば、配布リストがに存在するとします。

CN=\#Accounting Users,OU=DistributionLists,OU=Groups,DC=enterprise,DC=com

..フィルター構文を使用してユーザーアカウントメンバーを取得できることが期待されます。

(&
  (objectCategory=Person)
  (sAMAccountName=*)
  (memberOf=CN=\#Accounting Users,OU=DistributionLists,OU=Groups,DC=enterprise,DC=com)
)

記述されているこのフィルターはエラーを返し、「memberOf」構文が無効であることを示します。グループのdistinguishedNameフィールドに明示的に示されていても、ハッシュ記号の前のバックスラッシュで窒息していると思います。

バックスラッシュを削除すると、検索は完了しますが、何も返されません。

リストのメンバーは、アカウントオブジェクトに通常のmemberOf属性を持っています。

ここで何が間違っているのでしょうか。また、検索を機能させるにはどうすればよいですか。

2
Mikey T.K.

これを試してください:

(&
  (objectCategory=Person)
  (sAMAccountName=*)
  (memberOf=CN=\5C\5C#Accounting Users,OU=DistributionLists,OU=Groups,DC=enterprise,DC=com)
)

Adaxes の助けを借りて構築しましたが、私の側で機能します。

3
Eugene Pavlov