2017-11-15 2 views
1

Active Directory에 초보자이고 LDAP 쿼리를 만드는 것이 좋습니다.Active Directory의 구성원 수별 LDAP 쿼리 필터

메일 그룹을 한 명만 가져오고 싶습니다. 회원이없는 그룹을 찾는데 사용했던 검색어를 수정하려고했지만 행운이 없었습니다. 나는 해결책을 찾고 있었지만 어떤 정보도 찾을 수 없었다. 이것이 가능하다면 나는 단지 궁금했다.

(&(&(&(objectCategory=group)(member=1)(objectClass=group)(proxyAddresses=*@domain.com)))) 

답변

2

아니요, 단일 LDAP 쿼리만으로는 안됩니다.

필터가 유효하지 않은 dn ('1')과 일치하기 때문에 필터가 작동하지 않습니다. 필터 전체가 잘못된 방식으로 조건을 중첩하거나 각 연산자에 대해 & 연산자를 추가 할 필요가 없습니다. 그러나 회원이없는 그룹을 제외 시키려면 (!(member=*))을 추가 할 수 있습니다. 현재 상황에서 그래서 올바른 필터는 다음과 같아야합니다

(&(objectCategory=group)(objectClass=group)(proxyAddresses=*@domain.com)(!(member=*))) 

는 한 회원이, 위의 필터를 사용하여 그룹을 검색 할 수있는 첫 번째 단계에서 할 것이다 가진 그룹을 필터링하려면 다음 각 그룹을 반복 항목 수를 수동으로 가져오고 둘 이상의 구성원이있는 그룹을 제외하려면 구성원 특성을 읽습니다.

그룹 개체에 맞춤 속성을 추가하여 멤버 카운트를 저장할 수 있으며 마지막으로 단일 쿼리 인 첫 번째 (예 : memberCount = 1)의 필터를 적용 할 수 있습니다. 물론 이것은 속성을 유지해야합니다.

관련 문제