82

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

私は次のことを試しました:

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

この:

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

ただし、どちらも特定のグループのユーザーを表示しません。

4

4 に答える 4

120

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

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

識別名がまだない場合は、次のコマンドで検索できます。

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

そして、属性を返しますdistinguishedName。ケースが問題になる場合があります。

于 2012-03-27T13:05:02.960 に答える
12

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ます。

于 2016-06-08T20:23:16.110 に答える
3

DCがWin2k3SP2以降の場合は、次のようなものを使用できます。

(&(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

于 2019-05-30T20:28:47.690 に答える
-1

また、複数のグループで検索する必要がある場合は、より複雑なクエリを実行します。

(&(objectCategory=user)(|(memberOf=CN=GroupOne,OU=Security Groups,OU=Groups,DC=example,DC=com)(memberOf=CN=GroupTwo,OU=Security Groups,OU=Groups,DC=example,DC=com)(memberOf=CN=GroupThree,OU=Security Groups,OU=Groups,DC=example,DC=com)))

再帰を使用した同じ例:

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

于 2021-02-20T14:39:28.550 に答える