Подробный гайд: Список атрибутов Active Directory
Что такое атрибуты Active Directory?
Атрибуты Active Directory (AD) — это элементы данных, которые хранят информацию об объектах в каталоге: пользователях, компьютерах, группах, подразделениях (OU) и других сущностях.
Каждый атрибут имеет:
- LDAP-имя (техническое имя для запросов)
- Отображаемое имя (дружелюбное имя в интерфейсе)
- Тип данных (строка, число, дата, бинарные данные и т.д.)
- Синтаксис и ограничения (однозначный/многозначный, индексируемый и др.)
Основные категории атрибутов пользователей
Вкладка «Общие» (General Tab)
| Отображаемое имя |
LDAP-атрибут |
Пример значения |
| Имя |
givenName |
Иван |
| Фамилия |
sn |
Аноним |
| Отображаемое имя |
displayName |
Иван Аноним |
| Описание |
description |
Менеджер отдела продаж |
| Офис |
physicalDeliveryOfficeName |
Москва, офис 3X5 |
| Телефон |
telephoneNumber |
+7 495 XXX-45-XX |
| Email |
mail |
ivan.anonim@company.ru |
| Веб-страница |
wWWHomePage |
https://company.ru/ivan |
Вкладка «Адрес» (Address Tab)
| Отображаемое имя |
LDAP-атрибут |
Пример |
| Улица |
streetAddress |
ул. Тверская, д. XX |
| Почтовый ящик |
postOfficeBox |
а/я 123 |
| Город |
l |
Москва |
| Область/Регион |
st |
Московская область |
| Почтовый индекс |
postalCode |
12500X |
| Страна |
co |
Россия |
| Код страны |
c |
RU |
Вкладка «Учётная запись» (Account Tab)
| Отображаемое имя |
LDAP-атрибут |
Описание |
| Имя входа (UPN) |
userPrincipalName |
ivan.anonim@company.ru |
| Имя входа (pre-Win2000) |
sAMAccountName |
ipetrov |
| Срок действия учётной записи |
accountExpires |
31.12.2026 |
| Часы входа |
logonHours |
Битовая маска |
| Разрешённые рабочие станции |
userWorkstations |
PC01,PC02 |
| Учётная запись отключена |
userAccountControl |
Флаг 0x0002 |
| Учётная запись заблокирована |
lockoutTime |
FILETIME-значение |
| Требуется смена пароля |
pwdLastSet |
0 = требуется смена |
| Пароль не истекает |
userAccountControl |
Флаг 0x10000 |
Важно:
Атрибут userAccountControl — битовая маска, где каждый бит отвечает за определённое состояние учётной записи.
Вкладка «Профиль» (Profile Tab)
| Отображаемое имя |
LDAP-атрибут |
Пример |
| Путь к профилю |
profilePath |
\\server\profiles\%username% |
| Сценарий входа |
scriptPath |
logon.bat |
| Домашний каталог |
homeDirectory |
\\server\home\%username% |
| Буква диска для дома |
homeDrive |
H: |
Вкладка «Телефоны» (Telephones Tab)
| Отображаемое имя |
LDAP-атрибут |
Пример |
| Домашний телефон |
homePhone |
+7 495 XXX-XX-XX |
| Мобильный |
mobile |
+7 916 XXX-XX-XX |
| Пейджер |
pager |
+7 903 XXX-XX-XX |
| Факс |
facsimileTelephoneNumber |
+7 495 XXX-XX-XX |
| IP-телефон |
ipPhone |
1001 |
Вкладка «Организация» (Organization Tab)
| Отображаемое имя |
LDAP-атрибут |
Пример |
| Должность |
title |
Старший инженер |
| Отдел |
department |
IT-отдел |
| Компания |
company |
ООО «Технологии» |
| Руководитель |
manager |
CN=Иванов И.И.,OU=IT,DC=company,DC=ru |
| Подчинённые |
directReports |
DN-список |
| ID сотрудника |
employeeID |
EMP-00123 |
| Номер сотрудника |
employeeNumber |
45678 |
| Тип сотрудника |
employeeType |
Штатный |
| Подразделение |
division |
Департамент разработки |
Атрибуты безопасности и аудита
| Атрибут |
Описание |
Примечание |
pwdLastSet |
Дата последней установки пароля |
В формате FILETIME |
badPasswordTime |
Время последней неудачной попытки входа |
Не реплицируется |
badPwdCount |
Счётчик неудачных попыток входа |
Сбрасывается при успешном входе |
lastLogon |
Время последнего входа |
Не реплицируется между контроллерами домена |
lastLogonTimestamp |
Реплицируемое время последнего входа |
Обновляется раз в ~14 дней по умолчанию |
logonCount |
Общее количество успешных входов |
Не реплицируется |
whenCreated |
Дата создания объекта |
Только для чтения |
whenChanged |
Дата последнего изменения объекта |
Только для чтения |
objectSid |
SID объекта |
Уникальный идентификатор безопасности |
sidHistory |
История SID при миграции между доменами |
Для совместимости при миграции |
Атрибуты Exchange / Почты
| Атрибут |
Описание |
Пример |
proxyAddresses |
Список email-адресов (SMTP, X400 и др.) |
SMTP:main@company.ru;smtp:alias@company.ru |
mailNickname |
Псевдоним для Exchange |
ivan.petrov |
msExchHideFromAddressLists |
Скрыть из глобального списка адресов |
TRUE / FALSE |
targetAddress |
Адрес пересылки для гибридных сред |
SMTP:user@tenant.mail.onmicrosoft.com |
legacyExchangeDN |
Устаревший путь Exchange |
/o=Org/ou=Recipients/cn=user |
Расширенные атрибуты (для кастомизации)
| Атрибут |
Назначение |
extensionAttribute1 – extensionAttribute15 |
Пользовательские поля для интеграции с бизнес-приложениями |
info |
Заметки о пользователе |
comment |
Комментарий администратора |
Расширенные атрибуты идеально подходят для хранения данных из внешних систем (например, табельный номер из 1С, идентификатор в CRM).
Как просматривать атрибуты в Active Directory
Способ 1: ADUC с включёнными расширенными функциями
- Откройте Active Directory Users and Computers (
dsa.msc)
- В меню выберите View → Advanced Features
- Откройте свойства пользователя → вкладка Attribute Editor
- Используйте фильтр "Show only attributes that have values" для удобства
Способ 2: PowerShell — получение всех атрибутов пользователя
# Получить все атрибуты конкретного пользователя
Get-ADUser -Identity "ipetrov" -Properties * | Select-Object *
# Получить только определённые атрибуты
Get-ADUser -Identity "ipetrov" -Properties mail,department,title,manager |
Select-Object Name,mail,department,title,manager
# Экспорт атрибутов в CSV
Get-ADUser -Filter * -Properties mail,department,title |
Select-Object Name,mail,department,title |
Export-Csv -Path "C:\AD_Users.csv" -NoTypeInformation -Encoding UTF8
Способ 3: Поиск по значению атрибута (полезно для отладки)
# Найти пользователей по значению атрибута
$user = Get-ADUser -Filter "name -eq 'Иван Петров'" -Properties *
$user.psobject.Properties | Where-Object { $_.Value -match "Москва" } |
Select-Object Name, Value
Этот метод позволяет найти, в каких атрибутах содержится определённое значение.
Способ 4: Запрос к схеме для получения всех доступных атрибутов
# Получить список всех атрибутов в схеме AD
Get-ADObject -SearchBase (Get-ADRootDSE).schemaNamingContext `
-LDAPFilter "(objectClass=attributeSchema)" `
-Properties lDAPDisplayName, isSingleValued, attributeSyntax |
Select-Object lDAPDisplayName, isSingleValued, attributeSyntax |
Export-Csv "C:\AD_Schema_Attributes.csv" -NoTypeInformation
Полный каталог атрибутов: где найти
Официальная документация Microsoft содержит исчерпывающий список всех атрибутов схемы:
All Attributes — Microsoft Learn - learn.microsoft.com/en-us/windows/win32/adschema/attributes-all
Также полезны:
- MS-ADTS: Attributes specification - learn.microsoft.com/en-us/openspecs/windows_protocols/ms-adts/216e01b1-4f6d-40d9-b7b1-22c5ba836d4a
- LDAPWiki: AD Schema Attributes - ldapwiki.com/wiki/Wiki.jsp?page=Active%20Directory%20Schema%20Attributes
Практические советы по управлению атрибутами
Лучшие практики
- Стандартизируйте значения: например, формат
userPrincipalName должен быть единым (user@domain.ru)
- Регулярно проверяйте
userAccountControl: убедитесь, что флаги безопасности настроены корректно
- Используйте
extensionAttribute* для интеграций, а не создавайте кастомные атрибуты без необходимости
- Тестируйте изменения схемы в изолированной среде перед применением в продакшене
- Ведите журнал изменений критических атрибутов (пароли, членство в группах, права)
Частые ошибки конфигурации
| Атрибут |
Ошибка |
Последствия |
Решение |
userPrincipalName |
Несоответствие формата |
Проблемы с входом в облачные сервисы |
Стандартизировать: user@domain.ru |
memberOf |
Устаревшие группы |
Избыточные или недостаточные права |
Регулярный аудит членства |
mail |
Некорректный формат |
Сбои доставки почты |
Валидация при создании учётной записи |
userAccountControl |
Случайно установленный флаг |
Неожиданное поведение учётной записи |
Использовать скрипты для массовых изменений |
thumbnailPhoto |
Слишком большие изображения |
Рост размера БД AD |
Ограничить размер до 100 КБ |
Безопасность: часто игнорируемые атрибуты
| Атрибут |
Риск при неправильной настройке |
Рекомендация |
| Password never expires |
Уязвимость к компрометации |
Применять только к сервисным учётным записям |
| Store password using reversible encryption |
Пароли хранятся в открытом виде |
Включать только при крайней необходимости |
| Do not require Kerberos preauthentication |
Уязвимость к атакам типа AS-REP Roasting |
Отключать по умолчанию |
| Trusted for delegation |
Риск эскалации привилегий |
Использовать только с ограничением ресурсов (Constrained Delegation) |
Примеры полезных PowerShell-скриптов
Поиск пользователей с пустыми обязательными атрибутами
Get-ADUser -Filter * -Properties mail,department,title |
Where-Object {
[string]::IsNullOrEmpty($_.mail) -or
[string]::IsNullOrEmpty($_.department)
} |
Select-Object Name,mail,department |
Export-Csv "C:\Incomplete_Users.csv" -NoTypeInformation -Encoding UTF8
Массовое обновление атрибута
# Добавить домен к UPN для всех пользователей без него
Get-ADUser -Filter "userPrincipalName -notlike '*@company.ru'" |
ForEach-Object {
$newUPN = "$($_.SamAccountName)@company.ru"
Set-ADUser -Identity $_ -UserPrincipalName $newUPN
Write-Host "Updated: $($_.Name) -> $newUPN"
}
Отчёт по последним входам
# Получить lastLogonTimestamp в читаемом формате
Get-ADUser -Filter * -Properties lastLogonTimestamp |
Select-Object Name,
@{Name="LastLogon";Expression={[DateTime]::FromFileTime($_.lastLogonTimestamp)}} |
Sort-Object LastLogon -Descending |
Export-Csv "C:\User_Logon_Report.csv" -NoTypeInformation
Дополнительные ресурсы
- Microsoft: Active Directory Schema Reference - learn.microsoft.com/en-us/windows/win32/adschema/active-directory-schema
- ManageEngine: AD Attributes List - manageengine.com/products/self-service-password/kb/ad-attributes/active-directory-attributes-list.html
Совет:
Всегда проверяйте, является ли атрибут реплицируемым и однозначным/многозначным, прежде чем использовать его в скриптах или интеграциях. Это поможет избежать ошибок синхронизации и конфликтов данных.
Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте
её с пониманием. Статья носит рекомендательный характер, поэтому,
пожалуйста, применяйте описанные методы осмотрительно.