MODifikaTOR18
@MODifikaTOR18
Сисадмин

Как составить фильтр LDAP по DistinguishedName?

Второй день ломаю голову и не могу найти нужную информацию. Мне нужно в запросе к домену исключить несколько вложенных OU и получить остальные OU вместе с пользователями. Я почитал про составление фильтров в LDAP и составил свой. Фильтр "только для пользователей" работает:
$filter = "(&(objectCategory=person)(objectclass=user))";
$dn = "dc={$adServerShort},dc=local";
$result = ldap_search($ldap, $dn, $filter);
$info = ldap_get_entries($ldap, $result);
foreach($info[0] as $item) {
    echo "<pre>";
    print_r($item);
    echo "</pre>";
}

А если я добавляю к нему фильтр по dn, то фильтр ломается:
$filter = "(&(objectCategory=person)(objectclass=user)(dn=&(!(*OU=OFF_User*))(!(*OU=Service*))))";

При этом, когда я вывожу информацию о пользователе, то свойство `dn` отображается. Как я могу составить фильтр так, чтобы можно было исключить несколько OU из запроса?
  • Вопрос задан
  • 421 просмотр
Решения вопроса 1
MODifikaTOR18
@MODifikaTOR18 Автор вопроса
Сисадмин
Составил алгоритм, который получает полный список учёток в домене и затем из него формирует отфильтрованный список без учёток в указанных OU
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы