Подробный гайд: Управление пользователями в Active Directory и Windows Server
Применяется к: Windows Server 2016/2019/2022/2025
Предварительные требования
Прежде чем управлять пользователями в Active Directory (AD), убедитесь, что:
- Компьютер присоединён к домену и имеет установленные RSAT (Remote Server Administration Tools) для AD DS
- У вашей учётной записи есть права: Domain Admins, Account Operators или делегированные права на конкретную организационную единицу (OU)
- На контроллере домена или сервере управления запущена консоль Active Directory Users and Computers (
dsa.msc)
Создание учётной записи пользователя
Через графический интерфейс (ADUC)
- Откройте Active Directory Users and Computers (
dsa.msc) - Перейдите в нужную Организационную единицу (OU) или контейнер
Users - Нажмите правой кнопкой → New → User (или используйте кнопку New User на панели)
4. Заполните поля:
- Full Name — полное имя
- User logon name — имя для входа (создаёт
sAMAccountNameиuserPrincipalName)
5. Нажмите Next, задайте пароль и выберите опции:
- User must change password at next logon — рекомендуется для новых пользователей
- Password never expires — только для служебных учётных записей
- Account is disabled — если нужно создать учётку в отключённом состоянии
- Нажмите Finish
Через PowerShell (рекомендуется для автоматизации)
# Импорт модуля AD
Import-Module ActiveDirectory
# Создание простого пользователя
New-ADUser -Name "Ivan Petrov" `
-GivenName "Ivan" `
-Surname "Petrov" `
-SamAccountName "ipetrov" `
-UserPrincipalName "ipetrov@domain.local" `
-Path "OU=Employees,DC=domain,DC=local" `
-AccountPassword (ConvertTo-SecureString "P@ssw0rd123!" -AsPlainText -Force) `
-Enabled $true `
-ChangePasswordAtLogon $true
Ключевые параметры New-ADUser:
-Name, -SamAccountName, -UserPrincipalName, -Path, -AccountPassword, -Enabled
Массовое создание из CSV-файла
1. Подготовьте файл users.csv:
Name,GivenName,Surname,SamAccountName,UPN,Password
"Ivan Petrov","Ivan","Petrov","ipetrov","ipetrov@domain.local","P@ssw0rd123!"
"Anna Sidorova","Anna","Sidorova","asidorova","asidorova@domain.local","P@ssw0rd456!"
2. Скрипт импорта:
$users = Import-Csv -Path "C:\scripts\users.csv"
foreach ($u in $users) {
$pwd = ConvertTo-SecureString $u.Password -AsPlainText -Force
New-ADUser -Name $u.Name `
-GivenName $u.GivenName `
-Surname $u.Surname `
-SamAccountName $u.SamAccountName `
-UserPrincipalName $u.UPN `
-Path "OU=Employees,DC=domain,DC=local" `
-AccountPassword $pwd `
-Enabled $true `
-ChangePasswordAtLogon $true
}
Модификация учётной записи
Через PowerShell (Set-ADUser)
# Изменение основных атрибутов
Set-ADUser -Identity "ipetrov" `
-Description "Менеджер отдела продаж" `
-Department "Sales" `
-Title "Senior Manager" `
-Office "Moscow HQ" `
-EmailAddress "ipetrov@domain.local"
# Добавление произвольных атрибутов
Set-ADUser -Identity "ipetrov" -Add @{ipPhone="12345"; info="Доп. контакт"}
# Разблокировка учётной записи
Unlock-ADAccount -Identity "ipetrov"
# Сброс пароля (если текущий неизвестен)
Set-ADAccountPassword -Identity "ipetrov" -Reset -NewPassword (ConvertTo-SecureString "NewP@ss2026!" -AsPlainText -Force) -Reset
Через графический интерфейс
- В ADUC найдите пользователя → правой кнопкой → Properties
2. Вкладки для редактирования:
- Account — часы входа, компьютеры для входа, срок действия, параметры пароля
- Profile — путь к профилю, скрипт входа, домашняя папка
- Organization — должность, отдел, руководитель
- Member Of — управление членством в группах
Удаление и восстановление пользователей
Удаление
# Мягкое удаление (перемещение в Deleted Objects)
Remove-ADUser -Identity "ipetrov" -Confirm:$false
# Через командную строку
dsrm "CN=Ivan Petrov,OU=Employees,DC=domain,DC=local"
Важно:
Удалённые объекты можно восстановить только если включена AD Recycle Bin. Рекомендуется сначала отключать учётные записи, а не удалять их сразу.
Восстановление из корзины (если включена)
# Включение Recycle Bin (однократно для леса)
Enable-ADOptionalFeature -Identity "Recycle Bin Feature" `
-Scope ForestOrConfigurationSet `
-Target "domain.local"
# Восстановление удалённого пользователя
Get-ADObject -Filter 'SamAccountName -eq "ipetrov"' -IncludeDeletedObjects |
Restore-ADObject
Управление группами и членством
Создание группы
# Создание группы безопасности
New-ADGroup -Name "Sales_Team" `
-GroupScope Global `
-GroupCategory Security `
-Path "OU=Groups,DC=domain,DC=local" `
-Description "Группа отдела продаж"
Добавление/удаление пользователей из группы
# Добавить пользователя
Add-ADGroupMember -Identity "Sales_Team" -Members "ipetrov"
# Удалить пользователя
Remove-ADGroupMember -Identity "Sales_Team" -Members "ipetrov" -Confirm:$false
# Просмотр членов группы
Get-ADGroupMember -Identity "Sales_Team" | Select Name, SamAccountName
Через ADUC
- Свойства пользователя → вкладка Member Of
- Add → поиск группы → OK
- Для удаления: выбрать группу → Remove
Политики паролей и безопасность
Настройка параметров пароля
Через Групповые политики (GPO):
- Откройте Group Policy Management (
gpmc.msc) - Создайте/отредактируйте GPO, связанную с нужным подразделением
- Перейдите:
Computer Configuration → Policies → Windows Settings → Security Settings → Account Policies → Password Policy - Настройте: минимальная длина, сложность, история, срок действия
Примеры политик через PowerShell (Fine-Grained Password Policies)
# Создание детализированной политики паролей
New-ADFineGrainedPasswordPolicy -Name "Sales_Policy" `
-Precedence 10 `
-MinPasswordLength 12 `
-PasswordHistoryCount 24 `
-MaxPasswordAge (New-TimeSpan -Days 90) `
-MinPasswordAge (New-TimeSpan -Days 1) `
-ComplexityEnabled $true `
-ReversibleEncryptionEnabled $false
# Применение политики к группе
Add-ADFineGrainedPasswordPolicySubject -Identity "Sales_Policy" -Subjects "Sales_Team"
Лучшие практики безопасности
| Практика | Описание |
|---|---|
| Принцип наименьших привилегий | Назначайте права только по необходимости |
| Использование групп | Назначайте права группам, а не отдельным пользователям |
| Регулярный аудит | Отключайте/удаляйте неиспользуемые учётные записи |
| MFA для привилегированных учётных записей | Включите многофакторную аутентификацию для админов |
| Отдельные учётные записи для администрирования | Не используйте доменную учётку для повседневной работы |
| Мониторинг событий | Включите аудит входа и изменений учётных записей |
Аудит и мониторинг
Включение аудита через групповые политики
- Откройте Group Policy Management
- Перейдите:
Computer Configuration → Policies → Windows Settings → Security Settings → Advanced Audit Policy Configuration
3. Включите:
- Account Logon → Audit Kerberos Authentication Service
- Account Management → Audit User Account Management (Success/Failure)
- Logon/Logoff → Audit Logon (Success/Failure)
Просмотр событий
- Откройте Event Viewer →
Windows Logs → Security
Ключевые ID событий:
4720— создан пользователь4726— удалён пользователь4723/4724— попытка смены/сброса пароля4740— учётная запись заблокирована4767— учётная запись разблокирована
Аудит через PowerShell
# Поиск событий создания пользователей за последние 7 дней
Get-WinEvent -FilterHashtable @{
LogName='Security'
ID=4720
StartTime=(Get-Date).AddDays(-7)
} | Select-Object TimeCreated, Message
# Экспорт отчёта по пользователям
Get-ADUser -Filter * -Properties LastLogonDate, Enabled, PasswordLastSet |
Select Name, SamAccountName, Enabled, LastLogonDate, PasswordLastSet |
Export-Csv "C:\reports\users_audit_$(Get-Date -Format 'yyyyMMdd').csv" -NoTypeEncoding
Делегирование прав на управление
Через мастер делегирования (ADUC)
- В ADUC включите View → Advanced Features
- Правой кнопкой на нужной OU → Delegate Control
3. Добавьте пользователя/группу → выберите задачи:
- Создать, удалить, управлять пользователями
- Сбрасывать пароли
- Читать/записывать определённые атрибуты
Через PowerShell (расширенное делегирование)
# Делегирование права сброса пароля группе "HelpDesk" на OU "Employees"
$ou = "OU=Employees,DC=domain,DC=local"
$group = "CN=HelpDesk,OU=Groups,DC=domain,DC=local"
# Получение объекта OU
$ouObject = Get-ADOrganizationalUnit -Identity $ou
# Делегирование через ACL (упрощённый пример)
# Для сложных сценариев рекомендуется использовать dsacls или GUI
Совет:
Делегируйте права на конкретные OU, а не на весь домен — это снижает риски и упрощает аудит
Полезные PowerShell-командлеты для повседневных задач
| Задача | Командлет | Пример |
|---|---|---|
| Поиск пользователя | Get-ADUser |
Get-ADUser -Filter "Surname -like 'Petr*'" -Properties EmailAddress |
| Список всех пользователей | Get-ADUser -Filter * |
Get-ADUser -Filter * | Select Name, Enabled, LastLogonDate |
| Массовое изменение | Set-ADUser |
Get-ADUser -Filter * -SearchBase "OU=Temp,DC=domain,DC=local" | Set-ADUser -Enabled $false |
| Очистка устаревших учётных записей | Search-ADAccount |
Search-ADAccount -AccountInactive -TimeSpan 90.00:00:00 -UsersOnly |
| Экспорт в CSV | Export-CSV |
Get-ADUser -Filter * -Properties * | Export-Csv users_full.csv |
| Проверка политик пароля | Get-ADDefaultDomainPasswordPolicy |
Get-ADDefaultDomainPasswordPolicy -Identity "domain.local" |
Дополнительные рекомендации
- Используйте организационные единицы (OU) для логической структуры: по отделам, локациям, ролям — это упрощает делегирование и применение GPO
- Стандартизируйте имена:
имя.фамилияилиинициалы + фамилиядляsAMAccountName - Автоматизируйте рутину: создавайте скрипты для онбординга/оффбординга сотрудников
- Регулярно проводите аудит: ежемесячно проверяйте неактивные учётные записи и устаревшие членства в группах
- Документируйте изменения: ведите журнал изменений в учётных записях, особенно привилегированных