web-dev-qa-db-ja.com

特定のグループのすべてのユーザーをリストするクエリ

検索フィルターを使用して特定のグループのユーザーを表示するにはどうすればよいですか?

私は次を試しました:

(&
    (objectCategory=user)
    (memberOf=MyCustomGroup)
)

この:

(&
    (objectCategory=user)
    (memberOf=cn=SingleSignOn,ou=Groups,dc=tis,dc=eg,dc=ddd,D‌​C=com)
)   

ただし、特定のグループのユーザーは表示されません。

56
Madam Zu Zu

memberOf(AD内)は、distinguishedNameのリストとして保存されます。フィルターは次のようにする必要があります。

(&(objectCategory=user)(memberOf=cn=MyCustomGroup,ou=ouOfGroup,dc=subdomain,dc=domain,dc=com))

まだ識別名がない場合は、次を使用して検索できます。

(&(objectCategory=group)(cn=myCustomGroup))

属性distinguishedNameを返します。大文字と小文字が区別される場合があります。

78
Kodra

Active Directoryユーザーの場合、これを行う別の方法は、すべてのグループがOU=Groups,DC=CorpDir,DC=QA,DC=CorpNameに格納されていると仮定して、クエリ(&(objectCategory=group)(CN=GroupCN))を使用することです。これは、1500未満のメンバーを持つすべてのグループでうまく機能します。大規模なADグループのすべてのメンバーを一覧表示する場合、同じクエリは機能しますが、 範囲取得 を使用してすべてのメンバーを一度に1500レコード取得する必要があります。

範囲検索を実行するためのキーは、次の構文を使用して属性の範囲を指定することです:attribute; range = low-high。したがって、3000個のメンバーを持つADグループのすべてのメンバーを取得するには、最初に上記のクエリを実行してmember;range=0-1499属性を返し、次にmember;range=1500-2999属性を返します。

11
sigint

DCがWin2k3 SP2以上の場合、次のようなものを使用できます。

(&(objectCategory=user)(memberOf:1.2.840.113556.1.4.1941:=CN=GroupOne,OU=Security Groups,OU=Groups,DC=example,DC=com))

ネストされたグループメンバーシップを取得します。

ソース: https://ldapwiki.com/wiki/Active%20Directory%20Group%20Related%20Searches

0
RobSiklos