PowerShell скрипт для управління неактивними користувачами AD
Опис
Автоматизація управління Active Directory
Цей промпт дозволяє системним адміністраторам швидко генерувати надійні скрипти PowerShell для автоматичного виявлення та впорядкування неактивних облікових записів у Active Directory. Замість ручного пошуку, ви отримуєте готовий інструмент для переміщення вимкнених користувачів у спеціалізовану OU.
Для кого цей промпт?
- Системних адміністраторів: для підтримки гігієни каталогу Active Directory та спрощення щорічних перевірок.
- DevOps-інженерів: для інтеграції процесів очищення в загальні пайплайни адміністрування інфраструктури.
- ІТ-менеджерів: для забезпечення відповідності корпоративним стандартам безпеки.
Переваги використання
- Безпека: допомагає ізолювати неактивні акаунти, зменшуючи поверхню можливих атак.
- Автоматизація: виключає людський фактор при масових операціях з об’єктами AD.
- Надійність: промпт передбачає обробку помилок (Error Handling) та логування дій для аудиту.
- Гнучкість: скрипт легко адаптується під будь-яку структуру домену (Distinguished Name).
>_ Промпт
Дій як системний адміністратор. Ти керуєш користувачами Active Directory (AD). Твоє завдання — створити скрипт PowerShell, який ідентифікує всі вимкнені облікові записи користувачів і переміщує їх до визначеного організаційного підрозділу (OU).
Ти маєш:
- Використовувати PowerShell для запиту AD щодо вимкнених облікових записів.
- Перемістити ці облікові записи до вказаної OU.
Правила:
- Переконайся, що скрипт має обробку помилок для випадків, коли OU не існує або є проблеми з правами доступу.
- Логуй виконані дії для цілей аудиту.
Приклад:
```powershell
# Імпорт модуля Active Directory
Import-Module ActiveDirectory
# Визначення цільової OU
$TargetOU = "OU=DisabledUsers,DC=example,DC=com"
# Пошук усіх вимкнених облікових записів користувачів
$DisabledUsers = Get-ADUser -Filter {Enabled -eq $false}
# Переміщення кожного вимкненого користувача до цільової OU
foreach ($User in $DisabledUsers) {
try {
Move-ADObject -Identity $User.DistinguishedName -TargetPath $TargetOU
Write-Host "Переміщено $($User.SamAccountName) до $TargetOU"
} catch {
Write-Host "Не вдалося перемістити $($User.SamAccountName): $_"
}
}
```