Поиск, когда НЕ в OU - PullRequest
       19

Поиск, когда НЕ в OU

2 голосов
/ 02 июня 2011

Я хочу выполнить поиск в AD с LDAP с условием, что люди не находятся в определенном OU (см. Пример)

Domain.local
- [OU] Location A
-- [OU] Users
-- [OU] Computers
- [OU] Location B
-- [OU] Users
-- [OU] Computers
- [OU] Location C
-- [OU] Users
-- [OU] Computers

В моем фильтре я хочу, чтобы все пользователи, но пользователи из местоположения B / Users

возможно ли ? И если да, то как?

1 Ответ

4 голосов
/ 02 июня 2011

ExtensibleMatch объяснил здесь позволяет создавать фильтры на пути DN, но это не поддерживается в Active Directory.Насколько я знаю, у вас есть следующее решение, чтобы делать то, что вы хотите:

  • Множественный поиск, по одному на каждое подразделение, кроме того, который вам не нужен
  • Два поискаодин глобальный, один для OU, вам не нужны объекты, и вы подавляете записи из второго поиска в первом.
  • Используйте атрибут в AD, чтобы сделать различие для пользователей в местоположении B.Например, атрибут с именем OU, унаследованный от класса organizationalPerson.Вы устанавливаете его с помощью «locationB» (это многозначно)

Третье решение - это то, которое я использую.Мой совет в вашем случае:

  1. Проверьте, не используется ли атрибут OU в вашем Каталоге для пользователей или inetorgpersons, если это так, выберите другой атрибут

    (& (| (objectclass)= inetOrgPerson) (objectclass = user)) (ou = *))

  2. с помощью сценариев, с помощью программирования, с помощью LDIF заполните выбранный атрибут и оставьте его в использовании

Если вы программируете на C #, у вас есть информация "parent" для объекта, как я объясняю в simalary вопросе , чтобы вы могли отсортировать объект по этому критерию.

...