PowerShell та Active Directory: Практичні приклади автоматизації

PowerShell та Active Directory: Практичні приклади автоматизації

Active Directory (AD) — це основний компонент інфраструктури Windows, який забезпечує централізоване управління користувачами, групами, доступами та політиками. Використання PowerShell відкриває безмежні можливості автоматизації, дозволяючи виконувати складні завдання швидко, точно та без зайвих витрат часу.

Розглянемо найпоширеніші сценарії автоматизації:

  1. Створення, зміна й видалення облікових записів.
  2. Управління групами безпеки та груповими політиками (GPO).
  3. Моніторинг і аудит змін в 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-інфраструктури.


Останні публікації

  • PowerShell для роботи з файловою системою: Поради та хитрощі
    PowerShell значно спрощує управління файлами та папками завдяки інтуїтивному синтаксису та широким функціональним можливостям. Застосовуючи вищезгадані поради, ви зможете працювати з файловою системою швидше й ефективніше, автоматизуючи більшість рутинних завдань.
  • PowerShell та Active Directory: Практичні приклади автоматизації
    PowerShell є потужним інструментом для автоматизації роботи з Active Directory. Він дозволяє: Ефективно управляти обліковими записами. Швидко налаштовувати доступи та політики. Проводити аудит змін для підвищення безпеки. Постійна автоматизація процесів в AD не лише економить час, а й забезпечує надійну й структуровану роботу IT-інфраструктури.
  • PowerShell для адміністраторів: Автоматизація рутинних завдань
    PowerShell — це інструмент, який значно полегшує роботу адміністраторів. Завдяки його функціональності ви зможете автоматизувати безліч рутинних завдань, підвищити ефективність роботи та мінімізувати помилки. Інвестуючи час у вивчення PowerShell, ви відкриєте нові можливості для управління вашими системами. Почніть з базових команд і поступово переходьте до створення складних сценаріїв!

Коментарі

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *