Мне нужно получить только значения департаментов из Active Directory с использованием ldap. Один из способов - использовать этот фильтр $filter = '(objectClass=user)';
и установить параметр атрибутов ldap_search() на array('department')
Проблема в том, что я получаю все записи, а некоторые из них дублируются. Есть ли у кого-то предложения? Если это помогает, я использую Symfon2, и у меня есть библиотека ldap.Как получить список департаментов в Active Directory с помощью PHP?
ответ
Невозможно спросить AD для дедуплицированного списка значений department
. Самое близкое, что вы можете сделать, это фильтр: (&(objectCategory=person)(objectClass=user)(department=*))
, а затем дедуплицировать список на стороне клиента. Обратите внимание, что это не даст вам значений отдела для контактов, групп или компьютеров, например. Если вам это нужно, вам нужно будет обновить запрос, чтобы включить те типы объектов, которые вас интересуют.
Да, но используя это, я получу все отделы всех пользователей. Я думал, что, возможно, есть способ извлечь не информацию о пользователях и оттуда, чтобы взять все, что я хочу, но просто запросить конкретное поле, которое я хочу. –
К сожалению, это невозможно. –
С помощью вашего фильтра вы получаете LDAP-записи для пользователей, у которых есть определенный атрибут (отдел в вашем случае) , Таким образом, ваш результат - список пользовательских узлов. Невозможно уменьшить этот список пользовательских узлов, чтобы иметь отличный список атрибутов, поскольку это означает удаление пользователей из списка. Какие из них нужно удалить, поскольку вы явно искали всех пользователей?
Таким образом, единственный путь, чтобы использовать что-то вроде следующего (непроверенного) кода-фрагмента кода, чтобы получить список из такого поиска результата:
$departments = [];
$entry = ldap_first_entry($connect, $result);
do {
$attributes = ldap_get_attributes($connect, $entry);
$departments[$attributes['department'][0]] = $attributes['department'][0];
} while ($entry = ldap_next_entry($connect, $entry));
print_R($departments);
- 1. Как получить список департаментов в Active Directory с помощью C#
- 2. Как получить список пользователей из Active Directory с помощью C#?
- 3. Как получить список пользователей Active Directory
- 4. Получить список ролей, домен с помощью Active Directory
- 5. Как получить thumbnailФото из Active Directory? PHP
- 6. Список пользователей Active Directory
- 7. Фильтр Active Directory PHP
- 8. Получить имя ПК с помощью Active Directory
- 9. VB6 Получить список доменов Active Directory
- 10. Active Directory в VB.Net
- 11. Как получить доступ к Active Directory с помощью C++ Builder?
- 12. .NET Active Directory - получить список пользователей в определенной группе Active Directory
- 13. Active Directory
- 14. Получить имя пользователя Active Directory Active Directory от Django
- 15. Active Directory Список OU-х
- 16. php Поиск в Active Directory
- 17. ASP.NET Как получить список групп в Active Directory
- 18. Как получить список групп в группе Active Directory
- 19. Войдите в Active Directory с помощью google
- 20. Как настроить Active Directory с помощью TFS?
- 21. Проверка подлинности Active Directory с помощью Kerberos
- 22. Как получить удаленные объекты из Active Directory с помощью Ruby?
- 23. Управление/установка разрешений в Active Directory с помощью PHP LDAP
- 24. Список всех пользователей в группе Active Directory
- 25. Apache2 PHP SSO с Active Directory
- 26. Как получить список пользователей Active Directory на не контроллер домена
- 27. Windows | Скрипт Active Directory | PHP
- 28. Active Directory
- 29. Active Directory с помощью LDAP в C#
- 30. Поиск в Active Directory с помощью LDAP
Что именно ваша проблема? У вас проблемы с ldap или вы не знаете, как удалить дубликаты с помощью PHP? –
Я не хочу удалять дубликаты, мне нужен запрос, который я могу использовать для получения всех отделов без дубликатов, поэтому мне не нужно будет терять время, удалив их позже. –
Можете ли вы отредактировать свое сообщение и включить текущий код, который используете? – Twisty