Подробный гайд по свойствам пользователя в Active Directory

Гайд по свойствам пользователя в Active Directory: атрибуты, управление через PowerShell, безопасность и лучшие практики для администраторов

2026.05.14                  


Подробный гайд по свойствам пользователя в Active DirectoryПодробный гайд по свойствам пользователя в Active Directory Данный гайд охватывает структуру, назначение, способы просмотра/редактирования, автоматизацию и лучшие практики работы с атрибутами объектов пользователей в Active Directory (AD DS).

Информация актуальна для Windows Server 2016–2025 и учитывает современные сценарии интеграции с Microsoft Entra ID.


1. Что такое свойства пользователя в AD?

Каждый объект user в AD — это набор атрибутов, определённых в схеме каталога.

Атрибуты хранят:

  • Идентификационные данные (sAMAccountName, userPrincipalName, objectSID)
  • Состояние учётной записи (userAccountControl, pwdLastSet, accountExpires)
  • Организационные и контактные данные
  • Настройки профиля, входа, удалённого доступа
  • Членство в группах и делегированные права

Важно:

Многие поля в графическом интерфейсе (ADUC) являются лишь «обёрткой» над LDAP-атрибутами. Прямое редактирование схемы или технических атрибутов без понимания контекста может нарушить аутентификацию или репликацию.


2. Вкладки в ADUC и их LDAP-соответствия

Для доступа ко всем вкладкам в dsa.msc включите Вид → Дополнительные компоненты (Advanced Features).

Вкладка ADUC Ключевые атрибуты (LDAP-имя) Назначение
General cn, sn, givenName, displayName, description, physicalDeliveryOfficeName, wWWHomePage Базовые идентификаторы, ФИО, описание, офис, сайт
Address streetAddress, postOfficeBox, l, st, postalCode, c, co, countryCode Почтовый и географический адрес
Telephones telephoneNumber, mobile, facsimileTelephoneNumber, ipPhone, info Контакты, заметки
Organization title, department, company, manager Должность, отдел, компания, руководитель (DN)
Member Of memberOf (многозначный), primaryGroupID Группы, в которые входит пользователь
Profile scriptPath, profilePath, homeDirectory, homeDrive, logonWorkstations Скрипты входа, роуминг-профиль, домашний каталог, ограничения по рабочим станциям
Environment / Remote Control / Sessions / Terminal Services Profile msTS*, userParameters Унаследованные настройки RDS/Citrix. В современных средах почти не используются, заменены GPO и политиками RDSH.
Dial-in msNPAllowDialin, msRADIUSFramedIPAddress, msRADIUSCallbackNumber Права удалённого доступа, параметры RADIUS/NPS
Attribute Editor Все атрибуты схемы Полное техническое представление. Требует прав на чтение/запись и включённых Advanced Features.

3. Ключевые технические атрибуты и их значение

Атрибут Тип Описание
sAMAccountName String Логон в домене (≤20 символов, legacy)
userPrincipalName String UPN (user@domain.com), рекомендуется для современных сервисов
objectSID SID Уникальный идентификатор безопасности. Не менять вручную.
userAccountControl Integer (битовая маска) Состояние УЗ. Основные значения: 512 = включена; 514 = отключена; 66048 = включена + пароль не истекает; 66050 = отключена + пароль не истекает; 544 = включена + требует смены пароля при входе
pwdLastSet LargeInteger / FileTime Дата последнего изменения пароля. 0 = требуется смена. -1 = пароль не истекает
accountExpires LargeInteger Дата истечения УЗ. 0 или 9223372036854775807 = не истекает
logonHours Octet String Разрешённые часы входа (битовая карта 21 байт)
lastLogonTimestamp LargeInteger Приблизительное время последнего входа (реплицируется раз в 14 дней)
lastLogon LargeInteger Точное время последнего входа (не реплицируется, хранится локально на DC)
mail String Email-адрес. Часто синхронизируется из Exchange/Entra ID
manager Distinguished Name DN руководителя. Используется в org-chart и workflow

4. Как просматривать и изменять свойства

Графический интерфейс (ADUC)

  • Откройте dsa.msc → Найдите пользователя → Свойства
  • Для полного доступа к атрибутам: Вид → Дополнительные компоненты → вкладка Attribute Editor
  • Изменения применяются сразу, но могут потребовать репликации между контроллерами домена.

ADSI Edit

  • adsiedit.msc → Подключение к домену → CN=Users,DC=... → Свойства объекта
  • Позволяет редактировать сырые атрибуты. Используйте только при необходимости. Ошибки могут привести к блокировке УЗ или нарушению синхронизации.

PowerShell (модуль ActiveDirectory)

Требуется RSAT или выполнение на сервере с ролью AD DS.

# Получить все свойства пользователя
Get-ADUser -Identity "ivanov" -Properties * | Select-Object -Property sAMAccountName, displayName, userAccountControl, pwdLastSet, manager, memberOf

# Изменить несколько полей
Set-ADUser -Identity "ivanov" `
    -Department "IT Infrastructure" `
    -Title "Senior Admin" `
    -Description "Service account for monitoring" `
    -Manager "CN=Petrov,CN=Users,DC=contoso,DC=com"

# Разблокировать учётную запись
Unlock-ADAccount -Identity "ivanov"

# Принудительная смена пароля при следующем входе
Set-ADUser -Identity "ivanov" -ChangePasswordAtLogon $true

# Установить срок действия УЗ
Set-ADUser -Identity "ivanov" -AccountExpirationDate "2026-12-31"

# Изменить часы входа (разрешить 09:00–18:00 пн–пт)
# Требуется побайтовая маска или использование Set-ADUser -Replace @{logonHours=...}

Get-ADUser по умолчанию возвращает только ~10 атрибутов. Используйте -Properties * или указывайте конкретные имена.


5. Автоматизация и массовые операции

Импорт из CSV

Import-Csv "C:\users\users.csv" | ForEach-Object {
    New-ADUser -Name $_.DisplayName `
        -SamAccountName $_.sAMAccountName `
        -UserPrincipalName $_.UPN `
        -GivenName $_.FirstName `
        -Surname $_.LastName `
        -Path $_.OU `
        -AccountPassword (ConvertTo-SecureString $_.Password -AsPlainText -Force) `
        -Enabled $true `
        -ChangePasswordAtLogon $true
}

Поиск stale-учёток (неактивных >90 дней)

$Days = 90
$Date = (Get-Date).AddDays(-$Days)
Get-ADUser -Filter {Enabled -eq $true -and LastLogonTimestamp -lt $Date} `
    -Properties LastLogonTimestamp, PasswordLastSet |
    Select-Object Name, sAMAccountName, 
        @{N="LastLogon";E={[DateTime]::FromFileTime($_.LastLogonTimestamp)}},
        PasswordLastSet

6. Безопасность и лучшие практики

Практика Почему важно
Не хранить пароли/ключи в Description или info Атрибуты читаемы всем доменным пользователям по умолчанию. Используйте PAM, Vault, GPP с шифрованием (не рекомендуется) или JIT-доступ.
Регулярно чистить отключённые УЗ Снижает поверхность атаки и упрощает аудит. Автоматизируйте через Scheduled Tasks + PowerShell.
Используйте UPN вместо sAMAccountName для современных сервисов sAMAccountName ограничен 20 символами, не поддерживает кириллицу и устарел для SAML/OAuth.
Делегируйте права через RBAC, а не Domain Admins Используйте встроенные группы (Account Operators, Domain Users) или настраивайте ACL на OU через dsa.msc → Делегирование управления.
Аудируйте изменения атрибутов Включите Audit Directory Service Access и Audit Account Management в GPO → Политики безопасности → Advanced Audit Policy.
Избегайте ручного редактирования userAccountControl Используйте Disable-ADAccount, Enable-ADAccount, -PasswordNeverExpires $true и т.д. Прямая запись битовой маски приводит к ошибкам.

7. Troubleshooting типовых проблем

Симптом Диагностика Решение
Учётная запись заблокирована, но пароль верный Search-ADAccount -LockedOut Unlock-ADAccount -Identity <user>. Проверьте NPS, RDP, Exchange, устаревшие приложения.
Пароль «истёк», но в ADUC галочка снята Get-ADUser <user> -Properties PasswordExpired Проверьте Fine-Grained Password Policies (Get-ADFineGrainedPasswordPolicy). GPO может не переопределять FGPP.
Атрибут не виден в ADUC Включены ли Advanced Features? Есть ли права на чтение? Проверьте ACL через Get-ACL или dsa.msc → Security → Advanced.
Изменения не применяются на всех DC repadmin /showrepl Принудительная репликация: repadmin /syncall /AdeP. Проверьте связность сети и статус KDC.
manager или memberOf не обновляются Ссылочные атрибуты требуют корректного DN Используйте Set-ADUser -Manager (Get-ADUser "boss").DistinguishedName

8. Интеграция с Microsoft Entra ID (Azure AD)

При использовании Microsoft Entra Connect (ранее AAD Connect):

  • Атрибуты синхронизируются по маппингу: sAMAccountNameuserPrincipalName, mail, displayName, department, manager и др.
  • objectGUIDimmutableId (связующее поле, не изменять).
  • Облачные УЗ (cloud-only) не имеют sAMAccountName и userAccountControl в классическом виде.
  • Изменения в on-prem AD перезаписываются в облаке (направление: on-prem → cloud). Обратный поток возможен только для ограниченного набора атрибутов (например, proxyAddresses при writeback).
  • Для кастомных атрибутов используйте Extended Directory Schema или Entra ID Application Attributes.

9. Полезные команды и утилиты

Задача Команда
Экспорт свойств в CSV Get-ADUser -Filter * -Properties * | Select sAMAccountName,displayName,department,mail | Export-Csv users.csv -NoType
Проверка репликации repadmin /replsummary
Просмотр ACL объекта Get-ACL "AD:\CN=User,OU=Users,DC=contoso,DC=com"
Включение аудита изменений auditpol /set /subcategory:"User Account Management" /success:enable /failure:enable
Сравнение двух пользователей Compare-Object (Get-ADUser u1 -Properties *) (Get-ADUser u2 -Properties *) -Property *

Заключение

Свойства пользователя в Active Directory — это фундамент управления идентификацией, аутентификацией и авторизацией в корпоративной среде. Грамотное использование атрибутов, автоматизация через PowerShell, регулярный аудит и соблюдение принципа минимальных привилегий позволяют строить отказоустойчивую и безопасную инфраструктуру.