특정 그룹의 모든 사용자를 나열하는 쿼리


78

검색 필터를 사용하여 특정 그룹의 사용자를 표시하려면 어떻게해야합니까?

나는 다음을 시도했다 :

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

이:

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

그러나 어느 것도 특정 그룹의 사용자를 표시하지 않습니다.

답변:


107

memberOf (AD에서)는 고유 이름 목록으로 저장됩니다. 필터는 다음과 같아야합니다.

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

식별 이름이 아직없는 경우 다음을 사용하여 검색 할 수 있습니다.

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

속성을 반환합니다 distinguishedName. 케이스가 중요 할 수 있습니다.


6
일반적으로 Active Directory에는 구조를 포함하는 여러 조직 단위가 있습니다. 그룹의 기본 루트 OU는 그룹입니다. cn = MyCustomGroup, ou = Groups, dc = subdomain, dc = domain, dc = com이 작동 할 가능성이 높습니다. 그렇지 않은 경우 그룹 (& (objectCategory = group) (cn = MyCustomGroup))에 대해 LDAP 검색을 수행하고 결과 집합에 distinctedName 속성을 포함하는 것이 좋습니다. 그러면 다른 쿼리에서 사용할 문자열을 정확히 알 수 있습니다
Kodra

1
나는 당신이 말한 것을했지만 다음을 사용하여 결과를 얻지 못했습니다. (& (objectCategory = user) (memberOf = cn = SingleSignOn, ou = Groups, dc = tis, dc = eg, dc = ddd, DC = com) )
Madam Zu Zu

1
올바른 DN이 있는지 확인하기 위해 그룹 검색을 시도 했습니까? 내 필터는 (& (objectCategory = group) (cn = SingleSignOn))이고 속성은 "distinguishedName"입니다. 사용자 OU가 아닌 도메인의 루트에서 검색하는지 확인하십시오 (필터가 사용자 전용 인 경우 수행 할 수 있음). 해당 쿼리에서 distinctedName을 가져 와서 사용자 쿼리에 직접 연결할 수 있습니다.
Kodra

uugghhh. 대소 문자를 구분 한 것 같아요 ... 지금 작동하는 것 같습니다 !!! :)) 감사!!!!!!!!!!!
Madam Zu Zu

대소 문자가 공백 문제라고 생각하지 않습니다.
Timothy Gonzalez

11

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합니다.


1
지정하는 것을 잊지 마십시오 (CN=GroupCN). 나는 모든 그룹을 요청하려고했지만 이것을 지정할 때까지 작동하지 않았습니다. 또한 범위를 지정할 때 별표를 사용할 수 있습니다 member;range=1500-*.-또한 잘 작동합니다.
Stalinko

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.