Управление пользователями Active Directory: создание учётных записей, группы и делегирование прав | AdminWiki

Управление пользователями Active Directory: создание учётных записей, группы и делегирование прав

18 сентября 2026 14 мин. чтения
Содержание статьи

Основы управления пользователями и группами в Active Directory

Новую учётную запись в Active Directory создают тремя инструментами: оснасткой ADUC, командлетом New-ADUser в PowerShell и утилитой dsadd. Права на подразделение выдаются мастером делегирования в ADUC или командой dsacls, а сотня учётных записей из списка сотрудников заводится одним скриптом с Import-Csv. Ниже разобраны все эти операции с готовыми командами и пояснениями по параметрам.

Объект пользователя состоит из десятков атрибутов, но работу определяют шесть.

  • sAMAccountName - логин для входа в домен в виде DOMAIN\ivanov. Максимум 20 символов, уникальность проверяется в пределах домена.
  • userPrincipalName (UPN) - имя входа вида ivanov@domain.com, привычное для почты и облачных сервисов.
  • distinguishedName (DN) - полный путь объекта, например CN=Иван Иванов,OU=Sales,DC=domain,DC=com. Утилиты ds* принимают именно DN.
  • objectSID - идентификатор безопасности, по которому система проверяет права на файлы и папки.
  • memberOf - группы, в которые входит пользователь.
  • userAccountControl - флаги состояния: учётная запись включена или отключена, нужна ли смена пароля, истёк ли срок действия.

Права доступа в домене выдают группам, а не отдельным людям: перевод сотрудника в другой отдел сводится к смене членства. Учётную запись при этом не пересоздают, её SID и почтовый ящик сохраняются.

Делегирование прав на OU решает другую задачу: администратор домена передаёт часть работы сотрудникам поддержки, не выдавая им полный контроль над доменом. Технически это набор записей в ACL подразделения, который наследуется дочерними объектами. Клиенты ищут объект по атрибутам каталога, и от того, где лежит учётка, зависит набор применяемых групповых политик. Механику поиска и привязки разбирает статья как работает аутентификация через LDAP: там показаны SearchRequest, простой bind и разбор ответа сервера.

Чем отличаются группы безопасности от групп рассылки

Тип группы отвечает на вопрос, что с ней можно делать. Группа безопасности попадает в ACL и получает права на папки, принтеры, SharePoint и базы данных. Группа рассылки живёт только в почтовой системе: сервер использует её как список получателей, а выдать ей права на сетевую папку нельзя, в списках контроля доступа она не появится.

Тип группыНазначениеГде применяетсяИспользование в ACL
Безопасность (Security)Права доступа к ресурсамФайлы, принтеры, SharePoint, SQL, GPOДа
Рассылка (Distribution)Почтовые рассылкиExchange, списки получателейНет

Вторая характеристика - область действия. Она определяет, кого можно включить в группу и где группа сработает.

ОбластьКого можно включитьГде применяется
Локальная в домене (Domain Local)Пользователей и группы любого домена леса и доверенных доменовПрава на ресурсы внутри своего домена
Глобальная (Global)Пользователей и группы только своего доменаРоли сотрудников, вложенность в локальные группы других доменов
Универсальная (Universal)Пользователей и группы любого домена лесаПрава в любом домене леса, почтовые рассылки

Пример типовой схемы: для отдела продаж создают две группы. Sales_Access с типом "Безопасность" получает права на общую папку отдела на файловом сервере. Sales_Distribution с типом "Рассылка" служит адресом для писем. При изменении состава отдела правится членство в обеих группах, а ACL на файловом сервере остаётся неизменным.

Тип и область можно поменять без пересоздания группы.

Set-ADGroup -Identity "Sales_Distribution" -GroupCategory Security

После преобразования группа рассылки становится группой безопасности, и её можно назначать на ресурсы. Обратное преобразование тоже допускается, если группа пока нигде не получила прав. Как эти же группы превращаются в роли для Linux, TrueNAS и Kubernetes, разобрано в статье про RBAC на основе членства в группах AD.

Обзор инструментов: ADUC, PowerShell и утилиты командной строки

Инструменты отличаются сценарием применения, а не возможностями каталога: любая операция сводится к изменению атрибутов по протоколу LDAP.

ИнструментЗапускКогда удобенОграничения
ADUC (dsa.msc)Win+R, затем dsa.mscРазовые операции, осмотр структуры OUНет массовых операций, слабо подходит для повторяемых задач
PowerShell, модуль ActiveDirectoryImport-Module ActiveDirectoryМассовые операции, скрипты, отчёты, обработка ошибокНужен RSAT и права на объект
dsadd, dsmod, dsmove, dsrm, dsaclscmd или PowerShell как внешние командыСкрипты на cmd, системы без модуля ActiveDirectoryОграниченный набор атрибутов, пароль в открытом виде в командной строке

Модуль ActiveDirectory ставится как компонент RSAT. В Windows 10 и Windows 11 это делается одной командой, затем консоль нужно перезапустить.

Add-WindowsCapability -Online -Name "Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0"
Import-Module ActiveDirectory

Утилиты ds* входят в тот же набор средств AD DS Tools и работают из командной строки без загрузки модуля. Они принимают DN объекта, поэтому путь в каталоге указывают целиком: CN=Иван Иванов,OU=Sales,DC=domain,DC=com.

Команды ниже одинаково работают в Windows Server 2016, 2019 и 2022, а также в клиентских системах с установленным RSAT.

Создание учётной записи пользователя в Active Directory

Создание пользователя через ADUC: пошаговая инструкция

  1. Запустите оснастку: Win+R, затем dsa.msc. На контроллере домена она доступна сразу после установки роли AD DS, на рабочей станции потребуется RSAT.
  2. Раскройте домен и выберите OU, в котором должна появиться учётная запись.
  3. Правый клик по подразделению, затем "Создать", затем "Пользователь".
  4. Заполните поля Имя, Фамилия, Инициалы, Полное имя. В поле "Имя входа пользователя" укажите логин до символа @, это и есть sAMAccountName, а суффикс выберите из списка доменов.
  5. Нажмите "Далее", задайте пароль и решите, нужна ли галочка "Требовать смену пароля при следующем входе в систему". Для сервисных учётных записей её снимают и включают "Срок действия пароля не ограничен".
  6. Завершите мастер и проверьте результат: свойства объекта, вкладка "Учётная запись" (состояние "Учётная запись не заблокирована") и вкладка "Членство в группах".

Если логин занят, мастер остановит создание и предложит другое значение: sAMAccountName уникален в пределах домена. Пароль обязан проходить доменную политику сложности, иначе окно вернёт ошибку ещё до создания объекта.

Создание пользователя через PowerShell: команда New-ADUser

Пароль в PowerShell передаётся не строкой, а защищённым объектом SecureString.

$pwd = ConvertTo-SecureString "P@ssw0rd-2026" -AsPlainText -Force
New-ADUser -Name "Иван Иванов" `
  -GivenName "Иван" -Surname "Иванов" `
  -SamAccountName "ivanov" `
  -UserPrincipalName "ivanov@domain.com" `
  -Path "OU=Sales,DC=domain,DC=com" `
  -AccountPassword $pwd `
  -Enabled $true `
  -ChangePasswordAtLogon $true
  • -Name задаёт полное имя объекта, а -GivenName и -Surname заполняют отдельные атрибуты.
  • -SamAccountName и -UserPrincipalName формируют логины, UPN обязан быть уникальным в пределах леса.
  • -Path указывает OU в формате DN. Без этого параметра объект окажется в контейнере CN=Users.
  • -AccountPassword принимает SecureString, полученный через ConvertTo-SecureString.
  • -Enabled $true включает учётную запись сразу. Для поэтапного ввода сотрудников создают с -Enabled $false и включают позже командой Enable-ADAccount.
  • -ChangePasswordAtLogon $true заставляет пользователя сменить пароль при первом входе.

Проверка созданной учётной записи:

Get-ADUser ivanov -Properties Enabled, PasswordLastSet, MemberOf | Format-List Name, Enabled, PasswordLastSet, MemberOf

Создать объект в OU может тот, у кого есть право "Создание объектов-пользователей" на этом подразделении. По умолчанию такое право есть у администраторов домена, остальным его выдают делегированием.

Создание пользователя через dsadd: синтаксис и примеры

dsadd user "CN=Иван Иванов,OU=Sales,DC=domain,DC=com" -samid ivanov -upn ivanov@domain.com -fn Иван -ln Иванов -display "Иван Иванов" -pwd P@ssw0rd-2026 -mustchpwd yes -disabled no

Флаги утилиты: -samid задаёт sAMAccountName, -upn задаёт UPN, -fn и -ln заполняют имя и фамилию, -display управляет отображаемым именем, -pwd задаёт пароль, -mustchpwd требует смены при первом входе, -disabled управляет состоянием учётной записи. Домашний каталог задаётся флагами -hmdir и -hmdrv.

Пароль в командной строке попадает в историю сессии и виден в списке процессов на сервере. Для служебных учётных записей безопаснее вводить пароль через защищённый ввод PowerShell, а на время массовых операций ограничивать доступ к консоли другим администраторам. CSV-файлы dsadd не читает: массовое создание строится на цикле FOR /F, что уступает Import-Csv по удобству и обработке ошибок.

Управление группами безопасности и рассылки в Active Directory

Создание группы безопасности через ADUC и PowerShell

  1. Правый клик по OU, затем "Создать", затем "Группа".
  2. Укажите имя группы. Полезно сразу задать понятный шаблон: Sales_Access, Finance_ReadOnly, Helpdesk_Admins.
  3. Выберите область действия: "Глобальная" для ролей сотрудников, "Локальная в домене" для прав на ресурсы, "Универсальная" для групп, которые нужны в нескольких доменах леса.
  4. Выберите тип группы "Безопасность".
  5. Сохраните группу и добавьте участников на вкладке "Члены".
New-ADGroup -Name "Sales_Access" -SamAccountName "Sales_Access" `
  -GroupScope Global -GroupCategory Security `
  -Path "OU=Sales,DC=domain,DC=com"

Add-ADGroupMember -Identity "Sales_Access" -Members "ivanov","petrov"

Проверка состава:

Get-ADGroupMember -Identity "Sales_Access" | Select-Object name, objectClass

Для добавления участника нужны права на запись атрибута member у группы, а не только чтение. Ошибка "Access is denied" при работе Add-ADGroupMember почти всегда означает, что группа лежит вне делегированного OU.

Создание группы рассылки и управление членством

Группа рассылки создаётся так же, но с другим типом, и в почтовой системе включается как список получателей.

New-ADGroup -Name "Sales_Distribution" -SamAccountName "Sales_Distribution" `
  -GroupScope Universal -GroupCategory Distribution `
  -Path "OU=Sales,DC=domain,DC=com"

Универсальная область предпочтительна для рассылок: адрес работает в любом домене леса. Состав меняется теми же командлетами.

Add-ADGroupMember -Identity "Sales_Distribution" -Members "ivanov"
Remove-ADGroupMember -Identity "Sales_Distribution" -Members "petrov" -Confirm:$false

Из командной строки членство правит dsmod group:

dsmod group "CN=Sales_Access,OU=Sales,DC=domain,DC=com" -addmbr "CN=Иван Иванов,OU=Sales,DC=domain,DC=com"

Флаг -addmbr добавляет участника, -rmmbr удаляет, -chmbr заменяет весь список. Несколько участников указывают через пробел.

Правка состава рассылки требует прав в почтовой системе, а не только в каталоге. Почтовый адрес группы хранится в атрибутах mail и proxyAddresses, а в ACL каталога группа рассылки бесполезна. Учтите, что наличие группы рассылки в AD не создаёт почтовый ящик: адрес появляется только после включения почты средствами Exchange.

Делегирование прав на подразделения (OU) в Active Directory

Делегирование позволяет отдать часть административных задач без выдачи прав уровня администратора домена. Все настройки сводятся к записям ACL на подразделении, которые наследуются объектами внутри него. Права действуют только на выбранный OU: за его пределами делегированный администратор не может ничего.

Делегирование через мастер управления в ADUC

  1. Включите дополнительные компоненты: меню "Вид", затем "Дополнительные компоненты". Без этого вкладка "Безопасность" в свойствах OU не отображается.
  2. Правый клик по подразделению, затем "Делегировать управление".
  3. Добавьте пользователя или группу, которой передаются права. Делегировать правильнее группе: при уходе сотрудника достаточно убрать его из группы.
  4. Выберите типовые задачи: "Создание, удаление и управление учётными записями пользователей", "Сброс паролей пользователей и смена паролей при следующем входе в систему", "Управление группами", "Изменение членства в группе". Пункт "Создание особой задачи для делегирования" открывает ручной выбор прав.
  5. Завершите мастер и проверьте результат на вкладке "Безопасность": у выбранной группы появятся записи с типом "Разрешить".

Два предупреждения. Мастер не выдаёт права на дочерние OU автоматически: для вложенных подразделений операцию повторяют или включают наследование вручную. Для защищённых объектов (членов групп Administrators, Domain Admins, Account Operators) записи ACL перезаписываются службой AdminSDHolder примерно раз в час, поэтому делегирование на них не удержится.

Делегирование прав через dsacls: примеры команд

Утилита dsacls назначает разрешения из командной строки и подходит для развёртывания одинаковой схемы доступа в нескольких доменах.

dsacls "OU=Sales,DC=domain,DC=com" /I:S /G "DOMAIN\SalesAdmins:GA;user" /G "DOMAIN\SalesAdmins:GA;group"

Разбор параметров:

  • /I:S включает наследование на дочерние объекты.
  • /G выдаёт разрешение указанному пользователю или группе, /D снимает разрешение, /R удаляет запись ACL.
  • GA означает полный контроль над объектами типа user и group после точки с запятой. Права сужают до чтения, записи и создания дочерних объектов; полный список сокращений выдаёт dsacls /?.

Прав на сброс паролей без полного контроля не хватит: в каталоге это отдельное расширенное право с GUID 00299570-246d-11d0-a768-00aa006e0529. Мастер делегирования в ADUC добавляет такую запись отдельным пунктом списка задач, а в dsacls право указывают по GUID вместо буквенного сокращения.

Посмотреть текущий список разрешений можно без ключей:

dsacls "OU=Sales,DC=domain,DC=com"

Для выдачи и правки ACL нужны права администратора домена или права владельца подразделения. Перед массовым развёртыванием проверьте схему на копии OU: лишние записи в ACL подразделения трудно заметить, а наследуются они всеми дочерними объектами.

Делегирование в каталоге закрывает только часть задач. Сервисам нужен отдельный доступ по схеме минимальных привилегий: как его устроить через LDAPS и сервисную учётную запись, показывает статья про Zabbix и Active Directory: настройку аутентификации и ролевого доступа. Привязку таких групп к ролям в сторонних системах разбирает материал про настройку LDAP-групп и ролей для разграничения прав доступа.

Массовое создание пользователей из CSV через PowerShell

Импорт из CSV экономит часы при открытии нового офиса или наборе сезонного персонала. Файл готовят в таблице, одна строка на сотрудника.

КолонкаПример значенияКуда подставляется
NameИван Иванов-Name
SamAccountNameivanov-SamAccountName
UPNivanov@domain.com-UserPrincipalName
OUOU=Sales,DC=domain,DC=com-Path
PasswordP@ssw0rd-2026-AccountPassword через ConvertTo-SecureString
$csv = "C:\scripts\users.csv"
$log = "C:\scripts\create-users.log"

Import-Csv $csv | ForEach-Object {
  try {
    $pwd = ConvertTo-SecureString $_.Password -AsPlainText -Force
    New-ADUser -Name $_.Name `
      -SamAccountName $_.SamAccountName `
      -UserPrincipalName $_.UPN `
      -Path $_.OU `
      -AccountPassword $pwd `
      -Enabled $true `
      -ChangePasswordAtLogon $true `
      -ErrorAction Stop
    "OK  $($_.SamAccountName)" | Out-File $log -Append -Encoding UTF8
  }
  catch {
    "ERR $($_.SamAccountName): $($_.Exception.Message)" | Out-File $log -Append -Encoding UTF8
  }
}

Что важно в этом скрипте:

  • Параметр -ErrorAction Stop превращает некритичные ошибки в исключения, иначе блок catch их не поймает.
  • Лог хранит результат по каждой строке, поэтому после прогона видно, какие учётные записи созданы и на чём споткнулись остальные.
  • Логины стоит проверить заранее: Import-Csv $csv | Where-Object { Get-ADUser -Filter "SamAccountName -eq '$($_.SamAccountName)'" } покажет конфликты до запуска.
  • Холостой прогон делается ключом -WhatIf у New-ADUser: командлет показывает план действий и ничего не меняет.
  • Скрипт можно запускать не только под администратором домена, но и под учётной записью с делегированными правами на целевые OU.

CSV содержит пароли в открытом виде. Храните файл на ресурсе с ограниченным доступом и удаляйте после импорта, а пользователям выдавайте пароли отдельным каналом. Для больших наборов разумно генерировать случайные пароли и сохранять их в защищённое хранилище, а не в исходную таблицу.

Перенос учётных записей между OU и настройка домашних каталогов

Перенос пользователя между OU: ADUC, PowerShell, dsmove

При перемещении объекта меняется его DN, а SID и членство в группах сохраняются. Главный риск связан с групповыми политиками: после переноса применяются GPO нового подразделения, а настройки прежнего OU перестают действовать.

В ADUC объект перетаскивают мышью на нужное подразделение или используют правый клик, затем "Переместить". Из PowerShell то же делает Move-ADObject.

Move-ADObject -Identity "CN=Иван Иванов,OU=Sales,DC=domain,DC=com" `
  -TargetPath "OU=Marketing,DC=domain,DC=com"

Get-ADUser ivanov -Properties DistinguishedName | Select-Object Name, DistinguishedName

Утилита dsmove работает так же, но требует DN и целевого подразделения.

dsmove "CN=Иван Иванов,OU=Sales,DC=domain,DC=com" -newparent "OU=Marketing,DC=domain,DC=com"

Для переноса нужны права на удаление объекта в исходном OU и на создание объекта в целевом. Частая ошибка: перенос делают до настройки прав на целевое подразделение, и объект оказывается в OU, где делегированные администраторы не могут им управлять.

Настройка домашнего каталога при создании и изменении пользователя

Домашний каталог задают два атрибута: homeDirectory с UNC-путём и homeDrive с буквой диска. Диск подключается клиентом во время входа в систему.

New-ADUser -Name "Иван Иванов" -SamAccountName "ivanov" `
  -Path "OU=Sales,DC=domain,DC=com" `
  -HomeDirectory "\\server\home\ivanov" -HomeDrive "H" `
  -AccountPassword $pwd -Enabled $true

Set-ADUser -Identity ivanov `
  -HomeDirectory "\\server\home\ivanov" -HomeDrive "H"

В ADUC те же поля лежат на вкладке "Профиль": переключатель "Домашняя папка", буква диска и путь. В путь можно подставить переменную %username%, тогда каждый пользователь получит свою папку автоматически.

dsmod user "CN=Иван Иванов,OU=Sales,DC=domain,DC=com" -hmdir "\\server\home\ivanov" -hmdrv H

Папку создаёт администратор или скрипт, сама она не появится. Права выдают так: пользователю полный доступ только к своей папке, группе администраторов полный доступ, остальным доступ закрыт. Если каталог на сетевом ресурсе, у пользователя должны быть права на подключение к шаре и на чтение родительской папки. Ошибка "Не удаётся подключить диск H:" означает, что путь недоступен по сети или прав на папку не хватает. Проверка занимает минуту: пользователь входит в систему и открывает "Этот компьютер", либо выполняет в командной строке net use.

Типовые ошибки и рекомендации по управлению пользователями в AD

СимптомПричинаЧто делать
"Указанная учётная запись уже существует"sAMAccountName или UPN занятПроверить Get-ADUser -Filter "SamAccountName -eq 'ivanov'", выбрать другой логин
"Отказано в доступе" при создании в OUНет прав на подразделениеВыдать права мастером делегирования, проверить вкладку "Безопасность"
Учётная запись создана, пользователь не может войтиОбъект отключён, пароль не проходит политику, нет права на смену пароляПроверить флаги: Get-ADUser ivanov -Properties Enabled, PasswordExpired, userAccountControl
После переноса в другой OU изменились настройкиСменился набор применяемых GPOПроверить gpresult /r на рабочей станции, настроить политики в новом OU
Делегирование не действуетОтключено наследование или объект защищён AdminSDHolderПроверить наследование в "Дополнительных параметрах безопасности"
Add-ADGroupMember не находит пользователяПоиск идёт в домене по умолчанию, а участник в другом доменеУказать параметр -Server или полный DN

Для диагностики в первую очередь смотрят журнал Directory Service в оснастке "Просмотр событий": ошибки создания объектов и проблем с репликацией попадают туда с кодами. Состояние объектов проверяют командлетами Get-ADUser и Get-ADGroupMember, а действующие разрешения на подразделении - командой dsacls без ключей.

Рабочие правила, которые снижают число инцидентов:

  • Проверяйте уникальность логинов до массового импорта, а не по ходу.
  • Тестируйте делегирование на отдельном OU и под отдельной учётной записью, а не под администратором домена.
  • Запускайте массовые скрипты с ключом -WhatIf и оставляйте лог выполнения.
  • Выдавайте минимум прав: поддержке чаще нужен сброс паролей, а не полный контроль над OU.
  • Проектируйте группы до выдачи прав: сначала группа, потом права, потом сотрудники.

Начните с тестового подразделения: создайте группу Helpdesk_Admins, делегируйте ей создание учётных записей и сброс паролей, заведите одного пользователя через New-ADUser и проверьте вход в систему. Проверенный на тесте скрипт переносите на рабочие OU с ключом -WhatIf, а лог первого прогона сохраните как подтверждение результата.

Поделиться:
Сохранить гайд? В закладки браузера