Задача имени поиска пользователя или группы в Active Directory по некому шаблону, регулярному выражению или маске не так очевидна, как кажется на самом деле. Дело в том, что по-умолчанию стандартная консоль ADUC (AD Users and Computers), не позволяет использовать подстановочные символы в начале или в середине поисковой фразы.
К примеру, наша задача найти группы AD, в имени которых содержится ключевое слово «password». Обычный поиск по ключу password не нашел ничего. Поиск по маске «*password*» также безрезультатен (подстановочные символы просто не работают).
Поиск групп в AD из консоли ADUC
В графической консоли Active Directory Users and Computers поиск можно выполнить при помощи несложный LDAP запросов.
- Для этого, откройте меню Find и в выпадающем списке типов поиска выберите Custom Search
- Переключитесь на вкладку Advanced
- В поле LDAP query, введите:
name=*pass*
Примечание. Т.е. нам нужно найти всех пользователей и группу, содержащие в имени значение pass. Для этого нужно воспользоваться символом подстановки * с обеих сторон.
Если нужно искать только объекты AD типа группа, используйте такой запрос.
(&(objectcategory=group)(name=*pass*))
Как вы видите, по данному шаблону было найдено 39 объектов AD.
Поиск групп и пользователей Active Directory с помощью PowerShell
Также для поиска объектов в AD, можно воспользоваться модулем PowerShell для ActiveDirectory. В отличии от предыдущего способа, позволяющего найти все объекты, поиск в AD через PowerShell требует использование отдельного командлета для поиска по группам, пользователям или компьютерам (Get-ADGroup, Get-ADUser или Get-ADComputer соответственно).
Итак, сначала нужно импортировать модуль: Import-Module ActiveDirectory
Для поиска группы, можно воспользоваться такой конструкцией:
Get-ADGroup -Filter {name -like "*pass*"} -Properties Description,info | Select Name,samaccountname,Description,info | Sort Name
Надеюсь, эти простые способы облегчат вам задачу поиска объектов в Active Directory.