検索フィルターを使用して特定のグループのユーザーを表示するにはどうすればよいですか?
私は次を試しました:
(&
(objectCategory=user)
(memberOf=MyCustomGroup)
)
この:
(&
(objectCategory=user)
(memberOf=cn=SingleSignOn,ou=Groups,dc=tis,dc=eg,dc=ddd,DC=com)
)
ただし、特定のグループのユーザーは表示されません。
memberOf(AD内)は、distinguishedNameのリストとして保存されます。フィルターは次のようにする必要があります。
(&(objectCategory=user)(memberOf=cn=MyCustomGroup,ou=ouOfGroup,dc=subdomain,dc=domain,dc=com))
まだ識別名がない場合は、次を使用して検索できます。
(&(objectCategory=group)(cn=myCustomGroup))
属性distinguishedName
を返します。大文字と小文字が区別される場合があります。
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
属性を返します。
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