Active Directory (AD) — це основний компонент інфраструктури Windows, який забезпечує централізоване управління користувачами, групами, доступами та політиками. Використання PowerShell відкриває безмежні можливості автоматизації, дозволяючи виконувати складні завдання швидко, точно та без зайвих витрат часу.
Розглянемо найпоширеніші сценарії автоматизації:
- Створення, зміна й видалення облікових записів.
- Управління групами безпеки та груповими політиками (GPO).
- Моніторинг і аудит змін в AD.
1. Створення, зміна й видалення облікових записів
Керування обліковими записами — це базове завдання для адміністратора AD. За допомогою PowerShell ці дії виконуються через кілька рядків коду.
Створення облікових записів
Cmdlet New-ADUser
використовується для створення нових облікових записів.
Приклад:
Ви хочете створити обліковий запис для нового співробітника:
- ПІБ: Іван Іваненко
- Логін:
ivanenko
- Розташування в OU:
OU=Users,DC=domain,DC=local
- Початковий пароль:
P@ssword123
New-ADUser -Name "Іван Іваненко" `
-GivenName "Іван" `
-Surname "Іваненко" `
-SamAccountName "ivanenko" `
-UserPrincipalName "ivanenko@domain.local" `
-Path "OU=Users,DC=domain,DC=local" `
-AccountPassword (ConvertTo-SecureString "P@ssword123" -AsPlainText -Force) `
-Enabled $true
Ключові параметри:
-Name
— повне ім’я користувача.-Path
— розташування облікового запису в AD (зазвичай у конкретній організаційній одиниці, OU).-AccountPassword
— початковий пароль.-Enabled $true
— активний обліковий запис.
Масове створення користувачів
Часто потрібно додати кілька користувачів одночасно. Це можна зробити, використовуючи CSV-файл.
Файл users.csv
:
FirstName,LastName,SamAccountName,OU,Password
Іван,Іваненко,ivanenko,OU=Users,DC=domain,DC=local,P@ssword123
Марія,Петренко,petrenko,OU=Users,DC=domain,DC=local,P@ssword123
Скрипт для створення користувачів:
$users = Import-Csv -Path "C:\Scripts\users.csv"
foreach ($user in $users) {
New-ADUser -Name "$($user.FirstName) $($user.LastName)" `
-GivenName $user.FirstName `
-Surname $user.LastName `
-SamAccountName $user.SamAccountName `
-Path $user.OU `
-AccountPassword (ConvertTo-SecureString $user.Password -AsPlainText -Force) `
-Enabled $true
}
Зміна властивостей облікових записів
Cmdlet Set-ADUser
використовується для оновлення інформації про користувача.
Приклад: Змінити посаду та відділ для користувача ivanenko
:
Set-ADUser -Identity "ivanenko" -Title "Менеджер" -Department "Відділ продажів"
Додаткові властивості для зміни:
-EmailAddress
— електронна пошта.-OfficePhone
— телефон офісу.-Manager
— керівник (DN користувача).
Видалення облікових записів
Для видалення облікових записів використовується Remove-ADUser
.
Приклад: Видалити користувача ivanenko
:
Remove-ADUser -Identity "ivanenko" -Confirm:$false
2. Управління групами безпеки та груповими політиками
Групи безпеки (Security Groups) та групові політики (GPO) забезпечують гнучке управління доступами і налаштуваннями в AD.
Створення та налаштування груп безпеки
Cmdlet New-ADGroup
дозволяє створювати групи.
Приклад: Створити глобальну групу безпеки для відділу IT:
New-ADGroup -Name "IT-Admins" `
-GroupScope Global `
-GroupCategory Security `
-Path "OU=Groups,DC=domain,DC=local"
Додавання користувача до групи:
Add-ADGroupMember -Identity "IT-Admins" -Members "ivanenko"
Видалення користувача з групи:
Remove-ADGroupMember -Identity "IT-Admins" -Members "ivanenko" -Confirm:$false
Робота з груповими політиками (GPO)
Для управління GPO використовується модуль GroupPolicy
.
Створення нової політики:
New-GPO -Name "Базова політика безпеки" -Comment "Політика для всіх користувачів"
Застосування політики до OU:
New-GPLink -Name "Базова політика безпеки" -Target "OU=Users,DC=domain,DC=local"
Отримання списку всіх GPO:
Get-GPO -All | Select-Object DisplayName, GpoStatus
3. Моніторинг і аудит змін в Active Directory
PowerShell дозволяє виявляти зміни в AD та отримувати дані про дії користувачів.
Перегляд змін у користувачах
Отримати список усіх користувачів із відділу IT:
Get-ADUser -Filter {Department -eq "IT"} -Property DisplayName, EmailAddress | Select-Object DisplayName, EmailAddress
Перевірка входу користувачів
Аналіз подій входу через журнал Security
:
Get-WinEvent -LogName "Security" | Where-Object { $_.Id -eq 4624 } | Select-Object TimeCreated, Message
Аудит змін у групах
Отримання списку членів групи:
Get-ADGroupMember -Identity "IT-Admins" | Select-Object Name, SamAccountName
Висновки
PowerShell є потужним інструментом для автоматизації роботи з Active Directory. Він дозволяє:
- Ефективно управляти обліковими записами.
- Швидко налаштовувати доступи та політики.
- Проводити аудит змін для підвищення безпеки.
Постійна автоматизація процесів в AD не лише економить час, а й забезпечує надійну й структуровану роботу IT-інфраструктури.
Залишити відповідь