Сохраненные LDAP запросы в консоли Active Directory User and Computers | Windows для системных администраторов

Сохраненные LDAP запросы в консоли Active Directory User and Computers

Сохраненные запросы (Saved Queries) в консоли Active Directory Users and Computers (ADUC) позволяют создавать простые и сложные LDAP запросы по выборке объектов Active Directory. Эти запросы можно сохранять, редактировать и переносить между компьютерами. С помощью сохраненных запросов можно быстро и эффективно решать задачи поиска и выборки объектов в AD по различным критериям. Saved Queries, например, помогут быстро: вывести список всех отключенных учетных записей в домене, выбрать всех пользователей определенной организации с ящиками на заданном сервере Exchange и т.п.

Важное преимущество сохраненных LDAP запросов — предоставление возможности выполнять групповые операции с объектами из разных OU (контейнеров) Active Directory, например массовая блокировка/разблокировка, перемещение, удаление учетных записей и т.п. Т.е. позволяют «избавиться» от недостатков иерархической структуры OU в Active Directory, собрав все нужные объекты в плоском табличном виде.

Большинство указанных операций можно выполнить с помощью PowerShell, dsquery, скриптов vbs и т.д., но, как правило, представление результатов в привычном графическом виде консоли намного удобнее и не требует особых навыков.

Active Directory Saved Queries впервые появились в Windows Server 2003 и продолжают поддерживаться во всех последующих версиях Windows Server

Покажем типовой пример использования сохраненных запросов в консоли Active Directory Users and Computers. Предположим, нам нужно вывести список активных учетных записей пользователей, наименование их отделов и адресов email.

Открываем консоль ADUC (dsa.msc), выбираем раздел Saved Queries, щелкнув по нему ПКМ выбираем New – > Query.

новый сохраненный запрос к Active Directory В поле Name указываем имя сохраненного запроса, которое будет отображаться в консоли ADUC.

В поле Query root можно указать контейнер (OU), в котором выполняется запрос. По умолчанию поиск по критериям запроса выполняется по всему домену AD. В нашем примере, мы сузим область поиска, выбрав контейнер Ekaterinburg.

Имя AD Saved QueryДалее нажимаем кнопку Define Query, и в выпадающем списке Find выбираем пункт Custom Search.

Custom SearchПереходим на вкладку Advanced и в поле Enter LDAP query копируем следующий LDAP-запрос:
(&(objectcategory=person)(objectclass=user)(!userAccountControl:1.2.840.113556.1.4.803:=2))

Поле для LDAP запросаСохраняем изменения, нажав OK.

Выбираем в консоли ADUC созданный запрос, нажимаем F5 для перестроения списка. Результат работы запроса виден на скриншоте.

Результат выполнения сохраненного LDAP запросаЧтобы отобразить дополнительные поля (email-адрес, отдел), в консоли ADUC открываем меню View и выбираем пункт Add/Remove Columns.

Консоль aduc Add/Remove ColumnsДобавляем нужные поля.Добавляем новые столбцы в консли ADUC

Мы добавили 3 дополнительных поля: User Logon Name, E-Mail Address, Department.

Результат выполнения расширенного запроса ADПолученный результат можно выгрузить в CSV или TXT формате для дальнейшего анализа и использования в табличном реакторе Excel. Для этого щелкаем ПКМ по сохраненному запросу и выбираем пункт меню Export List.

Экспорт списка объектов Active Directory в текстовый файлВ консоли ADUC можно создать множество различных сохраненных запросов, которые можно организовать в древовидную структуру.

Древовидная структура AD запросов

Совет. В некоторых случаях удобнее напрямую из Exсel обращаться к объектам Active Directory. Как это реализовать описано в статье Выполнение запросов Active Directory из Excel.

Сохраненные запросы хранятся локально в консоли на компьютере, на котором они были созданы (xml-файл с настройками находится здесь C:\Users\%USERNAME%\AppData\Roaming\Microsoft\MMC\DSA) . Для переноса сохраненного запроса между компьютерами, в консоли dsa.msc есть функция Импорта / Экспорта запросов через XML файлы.

В следующей табличке мы приведем примеры часто используемых LDAP запросов для выборки в Active Directory.

Задача LDAP фильтр
Поиск групп с ключевым словом admin в имени (objectcategory=group)(samaccountname=*admin*)
Поиск учетных записей с ключевым словом service в поле description (objectcategory=person)(description=*service*)
Пустые группы Active Directory (в которых нет пользователей) (objectCategory=group)(!member=*)
Пользователи, у которых в настройках указано «Пароль никогда не истекает» (objectCategory=person)(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=65536)
Пользователи с незаполненным полем Profile Path (objectcategory=person)(!profilepath=*)
Активные учетные записи пользователи, которые должны изменить пароль (objectCategory=person)(objectClass=user)(pwdLastSet=0)(!useraccountcontrol:1.2.840.113556.1.4.803:=2)
Все пользователи AD, кроме отключенных (objectCategory=person)(objectClass=user)(!useraccountcontrol:1.2.840.113556.1.4.803:=2)
Заблокированные пользователи AD (objectCategory=person)(objectClass=user)(useraccountcontrol:1.2.840.113556.1.4.803:=16)
Пользователи с email адресами (objectcategory=person)(mail=*)
Пользователи без email адресов (objectcategory=person)(!mail=*)
Компьютеры с ОС Windows XP SP3 (&(objectCategory=computer)(operatingSystem=Windows XP Professional)(operatingSystemServicePack=Service Pack 3))
Список учетных записей, никогда не регистрировавшихся в домене (информацию о времени входе в домен в более удобном виде можно просматривать с помощью вкладки Additional Account Info) (&(&(objectCategory=person)(objectClass=user))(|(lastLogon=0)(!(lastLogon=*))))
Учетные записи пользователи, созданных в определенный период времени (за 2014 год) (&(&(objectCategory=user)(whenCreated>=20140101000000.0Z&<=20150101000000.0Z&)))
Пользователи AD, созданные в этом году (&(&(&(objectClass=User)(whenCreated>=20150101000000.0Z))))
Поиск Query Based Distribution Groups в домене http://winitpro.ru/index.php/2011/01/16/ishhem-query-based-distribution-lists-v-ad/
Еще записи по теме: Active Directory
Понравилась статья? Скажи спасибо и расскажи друзьям!
Назад:
Вперед:

Комментариев: 2

Оставить комментарий
  1. Денис | 25.11.2015

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

    Ответить
    • itpro | 26.11.2015

      Как такой запрос реализовать в ADUC консоли — не знаю. Думаю, гораздо проще это сделать через PowerShell:
      Get-ADGroupMember -identity «Domain Admins» -Recursive| select name

      Ответить
Полные правила комментирования на сайте winitpro.ru. Вопросы, не связанные с содержимым статьи или ее обсуждением удаляются.

Сказать Спасибо! можно на этой странице или (еще лучше) поделиться с друзями ссылкой на понравившуюся статью в любимой социальной сети(специально для этого на сайте присуствуют кнопки популярных соц. сетей).

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)



MAXCACHE: 0.25MB/0.00992 sec