Фильтрация групп пользователей AD - PullRequest
0 голосов
/ 23 октября 2019

Я пишу запрос LDAP, который вытягивает всех пользователей из постоянной группы и исключает всех пользователей, которые входят в группу Подрядчиков. Проблема в том, что некоторые из этих подрядчиков нуждаются в исключении, чтобы иметь некоторые привилегии для таких вещей, как постоянные группы. Проблема в том, что я не могу получить предполагаемых пользователей из группы постоянных и исключений и исключить всех пользователей из группы подрядчиков одновременно. Ниже приведен запрос, который должен это сделать.

Я пытался объединить обе группы (Подрядчики и Exception_Contractors) вместе, чтобы иметь только исключающих подрядчиков, поскольку подрядчики могут быть в обеих группах.

(&(objectClass=user)
(&(memberOf=CN=Contractors,CN=Users,DC=XYZ,DC=com) 
(memberOf=CN=Exception_Contractors,OU=File Server Groups,OU=GRP,OU=XYZ,DC=INC,DC=com)))

Результат этого запроса LDAP должен включать всех пользователей в постоянной группе (objectClass=user) и Exception_Contractors. Пожалуйста, посоветуйте дальше. Спасибо!

1 Ответ

0 голосов
/ 23 октября 2019

Если я правильно вас понимаю, вы хотите найти всех пользователей, кроме подрядчиков, но включая подрядчиков в группе исключений.

Я думаю, что вы ищете:

  • Оператор !, что означает «не», и
  • Оператор |, что означает «или»:

Пример:

(&(objectClass=user)
  (|(!memberOf=CN=Contractors,CN=Users,DC=XYZ,DC=com) 
  (memberOf=CN=Exception_Contractors,OU=File Server Groups,OU=GRP,OU=XYZ,DC=INC,DC=com)))

Таким образом, это означает: все пользователи, которые не входят ни в группу контрагентов, ни в группу контрагентов исключений.

В примечании стороны objectClass=user не является "группой". Это просто означает «все объекты пользователя». (в отличие от компьютера, контакта, объектов OU и т. д.)

...