Збережені запити (Saved Запити) в mmc консолі Active Directory Users and Computers (ADUC) дозволяють створювати різні LDAP фільтри для вибірки об’єктів Active Directory.Такіе запити можна зберігати, редагувати і переносити між комп’ютерами. За допомогою збережених запитів можна швидко і ефективно вирішувати завдання пошуку і вибірки об’єктів в Н.е. за різними критеріями. Saved Queries допомагають адміністратору швидко виконувати типові завдання адміністрування об’єктів AD: вивести список всіх відключених облікових записів в домені, вибрати всіх користувачів певної організації з ящиками на заданому сервері Exchange і т.п.
При використанні збережених LDAP запитів адміністратор може виконувати групові операції з об’єктами з різних OU (контейнерів) Active Directory. Наприклад, можна виконати масову блокування / розблокування, переміщення, видалення облікових записів, перейменування і т.п. Такі запити в консолі ADUC дозволяють обійти ієрархічну структуру OU в Active Directory і зібрати всі потрібні об’єкти в плоскому табличному вигляді.
Як створити збережений запит в консолі Active Directory?
Розглянемо кілька прикладів використання збережених запитів в консолі Active Directory Users and Computers для пошуку об’єктів. Припустимо, вам потрібно отримати список активних (незаблокованих) облікових записів користувачів, їх email адрес і назв відділів.
- Запустіть консоль ADUC (dsa.msc), Виберіть розділ Збережено Запити, Клацніть по ньому правою кнопкою і виберіть Новий -> Запит;
- У полі Ім’я вкажіть ім’я збереженого запиту, яке буде відображатися в консолі ADUC;
- У полі Запит корінь можна вибрати контейнер (OU), в якому виконується запит. За замовчуванням пошук виконується по всьому домену AD. У нашому прикладі, ми сузим область пошуку, вибравши контейнер Ekaterinburg;
- Далі натисніть на кнопку Визначте запит, І в списку, що випадає Знайдіть виберіть пункт Користувацький пошук;
- Перейдіть на вкладку Розширений і в поле Введіть запит LDAP скопіюйте наступний LDAP-запит (цей запит вибирає незаблокованих користувачів, інші приклади LDAP запитів дивіться трохи нижче):
(&(objectcategory=person)(objectclass=user)(!userAccountControl:1.2.840.113556.1.4.803:=2))
- Збережіть зміни, натиснувши OK;
- Тепер в консолі Active Directory виберіть створений запит, натисніть F5 для перестроювання списку. В результаті в правому вікні з’явиться список користувачів, який відповідає даному LDAP запитом;
- Щоб показати в консолі Active Directory додаткові атрибути користувачів (email-адреса, відділ), відкрийте меню Переглянути -> Додати/ Видалити Стовпці;
- Додайте потрібні стовпці;
- Ми додали 3 додаткових поля: Ім’я входу користувача, Електронна адреса, Кафедра.
- Отриманий список користувачів можна вивантажити в CSV або TXT файл для подальшого аналізу і імпорту в Excel. Для цього клацніть правою кнопкою по збереженому запитом і виберіть пункт меню Експорт Список;
Ви можете створити і зберегти у вашій консолі ADUC безліч різних збережених запитів, які можна організувати в деревоподібну структуру. Таким чином ви може створити зручну добірку запитів, що дозволяють швидко виконувати типові завдання адміністрування AD.
В оснащенні є кілька режимів формування збережених запитів AD. Не обов’язково вказувати текст LDAP фільтра вручну. Виможете сформувати сфой запит за допомогою простого графічного майстра. Просто вибираєте різні атрибути об’єктів AD і використовуйте для пошуку по потрібним критеріям. Наприклад, щоб вивести список комп’ютерів з Windows Server в домені, виберіть:
- Знайти -> Комп’ютери;
- Вкладка Advanced;
- Поля -> Операційна система
- Stars with -> вказуєте
Windows Server *
Як символ підстановки використовується
*
(Можна вказати так*Server*
). Можна додати кілька критеріїв пошуку..
Збережіть запит і відновите його в консолі ADUC. У списку будуть показані всі Windows Server в вашому домені.
Збережені запити зберігаються локально на комп’ютері, на якому вони були створені. Xml-файл з настройками знаходиться тут C.: Користувачі% ІМЯ КОРИСТУВАЧА%Дані програмиРоумінг Microsoft MMC DSA). Для перенесення збережених запитів між комп’ютерами, в консолі dsa.msc є функція експорту (Експорт визначення запиту) І імпорту (Імпортувати визначення запиту) Запитів через XML файли.
Корисні збережені LDAP запити для MMC консолі Active Directory
У наступній табличці зібрані приклади часто використовуваних LDAP запитів для вибірки об’єктів Active Directory. Ви можете зберегти їх у своїй консолі ADUC для щоденного використання.
Збережено запит ADUC | 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) |
Користувачі, які не змінювали пароль більше 3 місяців | (&(sAMAccountType=805306368)(pwdLastSet<=132161330597286610))
|
Знайти користувачів, у яких в поле відділ зазначено “Відділ продажів” | (&(objectCategory=person)(objectClass=user)(department=*Отдел продаж*)) |
Користувачі з незаповненим полем 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=*) |
Користувачі, приховані з адресної книги Exchange (GAL): | (&(sAMAccountType=805306368)(msExchHideFromAddressLists=TRUE)) |
Список облікових записів, ніколи не реєструвалися в домені (інформацію про час вході в домен в більш зручному вигляді можна переглядати за допомогою вкладки Additional Account Info) | (&(objectCategory=person)(objectClass=user)(|(lastLogonTimestamp=0)(!(lastLogonTimestamp=*))) |
Облікові записи користувачів, створених в певний період часу (за 2019год) | (&(&(objectCategory=user)(whenCreated>=20190101000000.0Z&<=20200101000000.0Z&))) |
Користувачі AD, створені в цьому році | (&(&(&(objectClass=User)(whenCreated>=20200101000000.0Z)))) |
Всі комп’ютери з Windows 10 | (&(objectCategory=computer)(operatingSystem=Windows 10*)) |
Вивести всі комп’ютери з певним білдом Windows 10 (наприклад, 1909 – це білд 18363) | (&(&(objectCategory=computer)(operatingSystem=Windows 10*)(operatingSystemVersion=*18363*))) |
Знайти всі Windows Server 2016 крім контролерів домену | (&(&(objectCategory=computer)(!(primaryGroupId=516)))(operatingSystem=Windows Server 2016*)) |
Все SQL сервери: | (&(objectCategory=computer)(servicePrincipalName=MSSQLSvc*))
|
Всі групи розсилки Exchange | (&(objectCategory=group)(!groupType:1.2.840.113556.1.4.803:=2147483648))
|
Групи розповсюдження на основі пошукових запитів у домені | |
Знайти об’єкт AD з певним SID | (objectSID=S-1-5-21-71234583-152049171 |
Використання LDAP фільтрів в PowerShell
Ви можете використовувати розглянуті LDAP фільтри для пошуку об’єктів в консолі PowerShell. У більшості командлетів з модуля PowerShell для Active Directory є спеціальний параметр LdapFilter. У цьому параметрі потрібно вказувати код LDAP запиту.
наприклад,
Get-ADUser -LdapFilter "(&(objectCategory=person)(objectClass=user)(department=*Отдел продаж*))"| ft -a DisplayName,department
командлети Get-ADUser
, Get-ADComputer
, Get-ADGroup
є спеціалізованими і використовуються для пошуку об’єктів певного типу – користувачів, комп’ютерів або груп. Якщо ви не знаєте тип об’єкта AD, який вам потрібен, або вам потрібна інформація про всіх типах об’єктів, використовуйте більш універсальний командлет Get-ADObject
. Наприклад, для пошуку об’єкта по SID:
Get-ADObject -LdapFilter "(objectSID=S-1-5-21-71234583-15204917-8654222215-1231)" -Properties * -SearchBase “OU=MSK,DC=winitpro,DC=ru| ft -a DisplayName,Title