Как использовать сохраненные LDAP запросы (Saved Queries) в Active Directory

Администратору домена Active Directory часто приходиться иметь дело с различными запросами, например, необходимо найти все отключенные учетные записи компьютеров или всех сотрудников какого-то департамента, или все глобальные группы. Некоторые администраторы сразу думают о каких-то скриптах на Powershell или VBS, забывая при этом, что все это можно сделать прямо в оснастке Active Directory Users and Computers (ADUC) с помощью запросов LDAP, которые к тому же можно удобно там же в консоли и сохранить, а при необходимости еще и выгрузить в файл XML и перенести на другой компьютер. Напомню, что такое LDAP – это сокращение от Lightweight Directory Access Protocol, то есть это облегченный протокол доступа к каталогу. Подробней узнать о нем можно, например, в википедии. Советую обратить особое внимание на синтаксис и логические операторы.

Сохраненные запросы LDAP (Saved Queries) впервые появились еще в Windows 2003 и продолжают оставаться и в текущих версиях Windows. Основное их преимущество в том, что для их использования не требуется программирования, все работа происходит во всем хорошо знакомой консоли Active Directory Users and Computers. С результатом запроса можно производить массовые операции типичные для ADUC, например, перенос, удаление, отключение, добавление в группы и так далее. Возможно формировать как простые запросы, используя типовые настройки, так и сложные с помощью редактора на вкладке “Advanced”, тем самым достигается гибкость без использования сложных скриптов.

Использование сохраненных запросов LDAP (Saved Queries) в оснастке Active Directory Users and Computers

Чтобы воспользоваться запросами, запустите оснастку (snap-in) Active Directory Users and Computers.

Допустим, что вам нужно найти все пустые группы в домене или каком-то OU (organizational unit). Создайте новую папку, например, “Запросы по группам”. В ней вы будете хранить все ваши новые запросы по группам.

Совет. Желательно давать значимые и понятные названия папкам и всем создаваемым запросам. Также неплохо заполнять описание к запросам. Поддерживается древовидная структура папок, поэтому используйте эту возможность. Тем самым вы упростите себе жизнь в дальнейшем, когда запросов станет много.

Создайте новый LDAP запрос.

Допустим, что вам нужно искать только в OU Test. Для составления самого LDAP запроса нажмите “Define Query…”.

Для использования пользовательского поиска выберите в выпадающем списке “Custom Search”.

Далее нажмите “Field”, затем “Group” и далее “Members”.

Выберите условие “Not present”.

Результат нашего запроса.

Немного изменив запрос на вкладке “Advanced” в поле “Enter LDAP query:”, можно найти пустые группы какого-то определенного типа, например, глобальные.

Далее рассмотрим использование запросов для поиска учетных записей пользователей. Например, найдем все отключенные учетные записи.

Задайте название и описание для нового запроса.

Нажмите “Define Query…”. Выберите “Common Queries”, “Disabled accounts”.

Сохраните ваш запрос – нажмите “OK”.

Результаты нашего запроса.

Результаты запроса при необходимости можно сохранить в файл CSV.

Выберите, куда сохранить файл.

В дальнейшем при использовании сохраненных запросов для получения свежих данных нужно в контекстном меню запроса выбрать “Refresh” или нажать кнопку F5.

Экспорт и импорт определений LDAP запросов

Сохраненные запросы хранятся локально на том компьютере, где они создавались. Файл XML с настройками хранится в профиле пользователя, из под которого запускалась оснастка. Имейте это ввиду при смене компьютера или удалении профиля. Нужно заранее сделать копию этой папки или воспользоваться предусмотренным в консоли механизмом экспорта, импорта, описанным ниже.

Для экспорта определения запроса в контекстном меню выберите “Export Query Definition…”.

Сохраните в файл XML.

Для импорта определения запроса в контекстном меню выберите “Import Query Definition…”.

Примеры LDAP запросов

  • Все пользователи, созданные после 2015 года – (&(&(&(objectClass=User)(whenCreated>=20160101000000.0Z))))
  • Пользователи из отдела маркетинга – (&(objectCategory=person)(objectClass=user)(department=Маркетинг))
  • Все компьютеры Windows 7/2008 R2 – (&(objectCategory=computer)(operatingSystemVersion=6.1*))
  • Группы с ключевым словом “доступ” в имени – (objectCategory=group)(samaccountname=*доступ*)
Оцените статью
Компьютерные советы по настройке программ, обзор полезных сервисов и социальных сетей