Есть две вероятные причины:
0) Контроль доступа: у вас нет соответствующего уровня доступа для просмотра рассматриваемых объектов (или свойств, необходимых для сопоставления их в фильтре (будь то objectClass
или objectCategory
)).
1) Целевые объекты на самом деле не соответствуют указанному фильтру. Пользователи могут быть чем-то отличным от (&(objectClass=user)(objectCategory=person))
.
Мое предложение - подойти к проблеме следующим образом:
0) Возьмите одного примера пользователя, которого вы ожидаете подобрать, и тщательно его осмотрите. Убедитесь, что objectClass действительно содержит user, а objectCategory установлена в person. Если нет, измените ваш запрос так, чтобы он включал всех пользователей, которых вы пытаетесь найти. (Вы можете обратиться к схеме AD, чтобы увидеть взаимосвязь между этими вещами)
1) Убедитесь, что контекст, в котором вы выполняете запрос, имеет доступ ко всем объектам, которые вы хотите найти , включая атрибуты, которые вы используете в своем фильтре. AD не вернет совпадение с запросом, если у вас нет доступа ко всем атрибутам в фильтре ... в противном случае это будет форма раскрытия информации.