Подробный гайд: Управление пользователями, компьютерами и группами в Active Directory
Целевая аудитория:
Системные администраторы, специалисты технической поддержки, специалисты по информационной безопасности
Требования:
Права администратора домена или делегированные права на управление объектами в домене
1. Введение в Active Directory
Active Directory (AD) — служба каталогов Microsoft Windows Server, предназначенная для централизованного управления пользователями, компьютерами, группами и другими объектами в корпоративной сети.
Основные объекты домена:
| Объект | Назначение |
|---|---|
| Пользователи | Учетные записи для аутентификации и авторизации |
| Компьютеры | Учетные записи рабочих станций и серверов |
| Группы | Контейнеры для упрощения назначения прав доступа |
| OU (Organizational Unit) | Логические контейнеры для организации объектов и применения политик |
2. Управление пользователями в Active Directory
Создание учетной записи пользователя
Через графическую консоль (ADUC — dsa.msc):
- Запустите Active Directory Users and Computers
- Перейдите в нужное подразделение (OU)
- ПКМ → New → User
4. Заполните поля:
- Full Name / First Name / Last Name
- User logon name (sAMAccountName и userPrincipalName)
5. На следующей странице задайте пароль и настройки:
- User must change password at next logon (рекомендуется для новых пользователей)
- Password never expires (только для служебных учеток)
- Account is disabled (если нужно создать "в холоде")
- Нажмите Finish
Через PowerShell:
Import-Module ActiveDirectory
New-ADUser -Name "IvanovII" `
-GivenName "Ivan" `
-Surname "Ivanov" `
-SamAccountName "IvanovII" `
-UserPrincipalName "IvanovII@corp.local" `
-Path "OU=Users,OU=Moscow,DC=corp,DC=local" `
-AccountPassword (ConvertTo-SecureString "P@ssw0rd123!" -AsPlainText -Force) `
-Enabled $true `
-ChangePasswordAtLogon $true
Через командную строку (dsadd):
dsadd user "CN=IvanovII,OU=Users,DC=corp,DC=local" ^
-upn IvanovII@corp.local ^
-fn "Ivan" ^
-ln "Ivanov" ^
-display "Ivan Ivanov" ^
-pwd "P@ssw0rd123!" ^
-mustchpwd yes
Управление свойствами пользователя
- Сброс пароля: ПКМ на пользователе → Reset Password или
Set-ADAccountPassword - Блокировка/разблокировка:
Disable-ADAccount/Enable-ADAccount - Членство в группах: вкладка Member Of в свойствах пользователя или
Add-ADGroupMember
Удаление пользователя
# Мягкое удаление (в корзину, если включена)
Remove-ADUser -Identity "IvanovII" -Confirm:$false
# Восстановление из корзины (если включен AD Recycle Bin)
Get-ADObject -Filter {Name -eq "IvanovII" -and IsDeleted -eq $true} `
-IncludeDeletedObjects | Restore-ADObject
Важно:
Перед удалением учетной записи рекомендуется её отключить и проверить, не используются ли её права в критичных системах.
3. Управление компьютерами в домене
Создание учетной записи компьютера
Через ADUC:
- ПКМ на целевом контейнере → New → Computer
- Введите имя компьютера (должно совпадать с будущим именем хоста)
- Укажите, какая группа может присоединять компьютер к домену (по умолчанию — Domain Admins)
Через PowerShell:
New-ADComputer -Name "WKS-MOSCOW-033" `
-SamAccountName "WKS-MOSCOW-033$" `
-Path "OU=Computers,OU=Moscow,DC=corp,DC=local" `
-Description "Рабочая станция отдела продаж" `
-Enabled $true
Имя учетной записи компьютера в AD всегда заканчивается на
$(например,WKS-MOSCOW-033$)
Присоединение компьютера к домену
# На целевом компьютере (запуск от имени администратора)
Add-Computer -DomainName "corp.local" `
-OUPath "OU=Computers,OU=Moscow,DC=corp,DC=local" `
-Credential (Get-Credential) `
-Restart
Управление компьютерными объектами
| Задача | Команда PowerShell |
|---|---|
| Найти компьютер | Get-ADComputer -Filter "Name -like '*MOSCOW*'" |
| Переместить в другую OU | Move-ADObject -Identity "CN=WKS-033,..." -TargetPath "OU=NewOU,..." |
| Отключить учетную запись | Disable-ADAccount -Identity "WKS-033$" |
| Удалить компьютер | Remove-ADComputer -Identity "WKS-033" |
4. Группы в Active Directory: типы и области действия
Типы групп
| Тип группы | Назначение | Можно назначать права? | Можно использовать для рассылки? |
|---|---|---|---|
| Группа безопасности (Security) | Управление доступом к ресурсам (файлы, принтеры, приложения) | Да | Технически можно, но не рекомендуется |
| Группа распространения (Distribution) | Почтовые рассылки (обычно с Exchange) | Нет | Да |
Рекомендация:
Используйте группы безопасности для управления доступом, а для рассылок создавайте отдельные группы распространения или используйте почтовые атрибуты у групп безопасности только при необходимости.
Области действия групп (Group Scope)
| Область | Кто может быть членом | Где можно использовать | Особенности |
|---|---|---|---|
| Domain Local (Локальная в домене) | Пользователи, группы и компьютеры из любого домена леса | Только в домене создания | Идеально для назначения прав к ресурсам в одном домене |
| Global (Глобальная) | Только объекты из того же домена | Во всех доменах леса с доверием | Используйте для группировки пользователей по отделам/ролям |
| Universal (Универсальная) | Объекты из любого домена леса | Во всём лесу | Изменения реплицируются в глобальный каталог — используйте для стабильных групп |
Создание и управление группами
Через PowerShell:
# Создание глобальной группы безопасности
New-ADGroup -Name "SG_Finance_RW" `
-GroupScope Global `
-GroupCategory Security `
-Path "OU=Groups,OU=Moscow,DC=corp,DC=local" `
-Description "Доступ на чтение/запись к ресурсам финансового отдела"
# Добавление пользователей в группу
Add-ADGroupMember -Identity "SG_Finance_RW" -Members "user1","user2","user3"
# Добавление из CSV-файла
Import-Csv .\users.csv | ForEach-Object {
Add-ADGroupMember -Identity "SG_Finance_RW" -Members $_.SamAccountName
}
# Получение списка членов группы (рекурсивно, включая вложенные группы)
Get-ADGroupMember -Identity "SG_Finance_RW" -Recursive | Select-Object Name, SamAccountName
# Экспорт в CSV
Get-ADGroupMember "SG_Finance_RW" -Recursive |
Get-ADUser -Properties Department, Title |
Select-Object Name, SamAccountName, Department, Title |
Export-Csv -Path "C:\Reports\Finance_Group.csv" -NoTypeInformation -Encoding UTF8
Удаление пользователя из группы:
Remove-ADGroupMember -Identity "SG_Finance_RW" -Members "user1" -Confirm:$false
Совет:
Для массовых операций используйте -Confirm:$false, чтобы избежать подтверждения для каждого объекта.
5. Организационные подразделения (OU)
Зачем нужны OU?
- Логическая группировка объектов (по отделам, географии, функциям)
- Применение групповых политик (GPO) к конкретным подразделениям
- Делегирование прав управления без предоставления прав на весь домен
Создание и управление OU
Через PowerShell:
# Создание OU
New-ADOrganizationalUnit -Name "Sales" `
-Path "DC=corp,DC=local" `
-Description "Подразделение отдела продаж" `
-ProtectedFromAccidentalDeletion $true
# Изменение свойств
Set-ADOrganizationalUnit -Identity "OU=Sales,DC=corp,DC=local" `
-Description "Отдел продаж (обновлено)" `
-ManagedBy "CN=Admin,OU=IT,DC=corp,DC=local"
# Удаление (требуется снять защиту)
# 1. Снять защиту от удаления
Set-ADOrganizationalUnit -Identity "OU=Sales,DC=corp,DC=local" `
-ProtectedFromAccidentalDeletion $false
# 2. Удалить
Remove-ADObject -Identity "OU=Sales,DC=corp,DC=local" -Recursive -Confirm:$false
Рекомендуемая структура OU (Best Practices)
DC=corp,DC=local
├── _Admin (для служебных объектов)
├── Users
│ ├── Moscow
│ ├── SPb
│ └── Remote
├── Computers
│ ├── Workstations
│ ├── Servers
│ └── Kiosks
├── Groups
│ ├── Security
│ └── Distribution
├── ServiceAccounts
└── Test (для тестовых политик)
Рекомендации по проектированию:
- Избегайте чрезмерной вложенности (не более 3–4 уровней)
- Группируйте по административным, а не по организационным признакам
- Не изменяйте стандартные контейнеры (Users, Computers) — создавайте свои OU
- Всегда включайте Защиту от случайного удаления для критичных OU
6. Делегирование прав управления
Зачем делегировать?
- Разделение обязанностей (Helpdesk не должен иметь прав администратора домена)
- Повышение безопасности (принцип наименьших привилегий)
- Масштабируемость управления
Делегирование через мастер (ADUC):
- ПКМ на целевой OU → Delegate Control...
- Добавьте пользователя или группу, которой делегируете права
3. Выберите задачи:
- Create, delete, and manage user accounts
- Reset user passwords and force password change at next logon
- Read all user information
- Modify group membership
- Завершите мастер
Делегирование через PowerShell (более гибко):
# Дать право сброса паролей пользователям из группы "HelpDesk" для всех пользователей в OU "Sales"
$OU = "OU=Sales,DC=corp,DC=local"
$HelpDesk = "CN=HelpDesk,OU=IT,DC=corp,DC=local"
# Получаем объект безопасности для делегирования
$acl = Get-ACL "AD:\$OU"
$userSID = (Get-ADGroup $HelpDesk).SID
# Правило: разрешить сброс пароля
$rule = New-Object System.DirectoryServices.ActiveDirectoryAccessRule(
$userSID,
[System.DirectoryServices.ActiveDirectoryRights]::WriteProperty,
[System.Security.AccessControl.AccessControlType]::Allow,
[GUID]"00299570-246d-11d0-a768-00aa006e0529"
)
$acl.AddAccessRule($rule)
Set-ACL -Path "AD:\$OU" -AclObject $acl
Важно:
Делегируйте права на конкретные OU, а не на корень домена.
7. PowerShell: полезные команды для администрирования
Поиск и аудит
# Все пользователи, не входившие в систему более 90 дней
Search-ADAccount -AccountInactive -TimeSpan 90.00:00:00 -UsersOnly |
Select-Object Name, LastLogonDate
# Пустые группы безопасности
Get-ADGroup -Filter {GroupCategory -eq 'Security'} -Properties Members |
Where-Object { $_.Members.Count -eq 0 } |
Select-Object Name, DistinguishedName
# Компьютеры, не обновлявшие пароль более 30 дней (признак "потерянных" машин)
Search-ADAccount -ComputersOnly -AccountInactive -TimeSpan 30.00:00:00
Массовые операции
# Блокировать всех пользователей из уволенного отдела
Get-ADUser -Filter "Department -eq 'Liquidated'" -SearchBase "OU=Ex-Employees,DC=corp,DC=local" |
Disable-ADAccount
# Переместить все компьютеры из контейнера Computers в соответствующие OU по имени
Get-ADComputer -SearchBase "CN=Computers,DC=corp,DC=local" -Filter * | ForEach-Object {
$OU = if ($_.Name -like "SRV-*") { "OU=Servers" }
elseif ($_.Name -like "WKS-*") { "OU=Workstations" }
else { "OU=Other" }
Move-ADObject -Identity $_.DistinguishedName -TargetPath "$OU,DC=corp,DC=local"
}
Экспорт данных
# Полный экспорт пользователей с атрибутами
Get-ADUser -Filter * -Properties * |
Select-Object Name, SamAccountName, EmailAddress, Department, Title, Enabled, LastLogonDate |
Export-Csv "C:\AD_Export_$(Get-Date -Format 'yyyy-MM-dd').csv" -NoTypeInformation -Encoding UTF8
8. Лучшие практики безопасности (2026)
- Принцип наименьших привилегий: Никогда не используйте учетную запись Domain Admin для повседневных задач
- Разделение учетных записей: Отдельные учетки для администрирования и обычной работы
- Включение AD Recycle Bin: Для возможности восстановления удалённых объектов без бэкапа
- Аудит изменений: Включите аудит изменений в группах и членстве (Event ID 4728, 4732, 4756)
5. Регулярная ревизия: Ежеквартально проверяйте:
- Учетные записи с неистекающими паролями
- Пользователей в привилегированных группах (Domain Admins, Enterprise Admins)
- Пустые или неиспользуемые группы и компьютеры
- Защита от удаления: Всегда включайте Protected from accidental deletion для критичных объектов
- Использование Managed Service Accounts (gMSA): Для служб вместо обычных учетных записей
9. Частые ошибки и как их избежать
| Ошибка | Последствия | Решение |
|---|---|---|
Создание пользователей в контейнере Users по умолчанию |
Невозможно применить специфичные GPO | Всегда создавайте пользователей в соответствующих OU |
| Использование универсальных групп для часто меняющихся составов | Избыточная репликация глобального каталога | Используйте глобальные группы для пользователей, универсальные — для стабильных ролей |
| Прямое назначение прав пользователям, а не группам | Сложность аудита и управления | Используйте модель AGDLP: Accounts → Global groups → Domain Local groups → Permissions |
| Отключение защиты от удаления для всех объектов | Риск массового удаления по ошибке | Снимайте защиту только временно, непосредственно перед удалением |
Чек-лист перед началом работы:
- [ ] Установлен модуль RSAT или вы работаете с контроллера домена
- [ ] У вас есть права на управлении целевыми объектами
- [ ] Включен журнал аудита изменений в домене
- [ ] Есть актуальная резервная копия AD (или включен AD Recycle Bin)
- [ ] Вы протестировали изменения в тестовой среде (если возможно)