Запрос LDAP для перечисления всех пользователей определенной группы
Как использовать фильтр поиска для отображения пользователей определенной группы?
Я пробовал следующие:
(&
(objectCategory=user)
(memberOf=MyCustomGroup)
)
и так:
(&
(objectCategory=user)
(memberOf=cn=SingleSignOn,ou=Groups,dc=tis,dc=eg,dc=ddd,DC=com)
)
но ни отображать пользователей определенной группы.
2 ответов
memberOf (в AD) хранится как список distinguishedNames. Ваш фильтр должен быть чем-то вроде:
(&(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 членов. Если вы хотите получить список всех членов большой группы объявлений, один и тот же запрос будет работать, но вам придется использовать составляла поиска чтобы получить все члены, 1500 записей за раз.
ключ к выполнению ranged retrievals должен указать диапазон в атрибуты, использующие этот синтаксис:атрибут; диапазон=низкий-высокий. Поэтому, чтобы получить всех членов группы объявлений с 3000 членами, сначала запустите вышеуказанный запрос с запросом member;range=0-1499
атрибут должен быть возвращен, затем для .