2017-01-23 12 views
0

Мое требование - получить все группы пользователей, чьи distinguishedName начинается с Auser*.Как получить все группы пользователей, которые отличилисьName, начинаются с чего-то

Итак, я создал фильтр в Apache Directory, студии

(& 
    (objectClass=group) 
    (member=CN=Auser*) 
) 

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

(& 
    (objectClass=group) 
    (member=CN=AUser10,OU=Mygrp,DC=domain,DC=com) 
) 

ли я что-то отсутствует?

ответ

0

Пожалуйста, попробуйте это:

(& 
    (objectCategory=group) 
    (name=Auser*) 
) 

различают имя длинное имя, содержащее полный путь + имя. как: CN=Username,OU=internalFolder,OU=parentFolder,DC=domainComponentName,DC=com

Для фильтрации по имени просто поиск по имени или других атрибутов, которые вы хотите, как GivenName

+0

Не работает – SimpleGuy

1

member Отличился-Name-синтаксиса, и учитывая это Active Directory вы пытаетесь искать, вы не можете имеют подстроку, соответствующую как в обычном атрибуте Directory-String, например cn.

Почему бы вам не изменить стратегию поиска? Сделайте поиск поддерева в вашем домене с помощью фильтра (&(objectClass=user)(cn=userprefix*)), извлекающего атрибут memberOf, экспорт в CSV, удаление дубликатов, завершение.

+0

Атрибут 'memberOf' не хранит все группы пользователей (такие как Domain local не хранятся в' memberOf'). Поэтому я обращаюсь к группам, а не к пользователю. – SimpleGuy

+0

Используйте memberOf для чего он стоит. Экспортируйте локальные группы домена и используйте grep/findstr. – marabu

+0

Да, это то, что я делаю ... но хотел лучшего прямого пути – SimpleGuy