Userprincipalname что это в актив директори
Управление UPN суффиксами (UserPrincipalName) в Active Directory
В этой статье мы рассмотрим, что такое UPN (UserPrincipalName) суффиксы в Active Directory, как добавить дополнительные суффиксы в лесу AD, и назначить/изменить UPN суффикс пользователям Active Directory через графическую консоль и PowerShell.
По умолчанию в Active Directory в качестве UPN суффикса используется DNS имя вашего домена AD. Например, UserPrincipalName пользователя в домене winitpro.local выглядит так: username@winitpro.local.
Если в вашей внутренней AD DS используется немаршрутизируемое имя домена (например domain.local), вы не сможете верифицировать такой домен в Azure (Microsoft 365). Чтобы настроить синхронизацию с Azure вам придется переименовать домен AD (не всегда возможно), или (гораздо проще) добавить дополнительные (альтернативные) UPN суффиксы в своем AD.
Добавляем дополнительный UPN суффикс в Active Directory
В Active Directory вы можете добавить дополнительные (альтернативные) UPN суффиксы с помощью графической консолей Active Directory Domains and Trusts или через PowerShell.
Откройте консоль PowerShell и выполните команду Get-ADForest из модуля AD PowerShell. Следующая команда выведет все назначенные UPN суффиксы в лесу:
Get-ADForest | Format-List UPNSuffixes
Если список пуст, значит у вас используется суффикс UPN по умолчанию, соответствующий имени DNS домена.
Чтобы добавить дополнительный UPN суффикс (например, winitpro.ru), выполните команду:
Проверьте, что суффикс появился в UPNSuffixes:
Get-ADForest | Format-List UPNSuffixes
Как изменить UserPrincipalName у пользователей Active Directory?
Текущее значение UserPrincipalName пользователя можно вывести с помощью командлета Get-ADUser:
Dы можете задать новый UPN суффикс для своих пользователей. Самый простой вариант – изменить UserPrincipalName в свойствах пользователя в консоли ADUC ( dsa.msc ).
Как вы видите, в выпадающем списке доступны все UPN суффиксы домена. Выберите нужный и нажмите OK.
Обратите внимание, что на этой форме UserPrincipalName как бы состоит из двух частей – имени пользователя и UPN суффикса. Но по факту значение UserPrincipalName хранится в одном атрибуте AD.
Когда вам нужно изменить UPN сразу нескольким пользователям, можно выбрать
несколько пользователей в консоли ADUC и нажать Properties. Перейдите на вкладку Account и вы можете сменить UPN суффикс сразу для всех пользователей (если нужно собрать в плоский список пользователей из разных OU, воспользуйтесь сохраненными запросами в консоли ADUC).
На гораздо проще для смены UPN суффикса использовать PowerShell.
Чтобы изменить UPN суффикс одному пользователю, используйте командлет Set-ADUser с параметром UserPrincipalName
Следующий PowerShell скрипт позволит найти в указанной OU всех пользователей с определённым UPN суффиксом и изменить UserPrincipalName на новый.
Следующая команд PowerShell позволит найти пользователей, у которых userPrincipalName не задан:
Если вы создаёте нового пользователя, можете выбрать нужный UPN суффикс вместо DNS имени вашего домена.
Если вы создаёте пользователей с помощью PowerShell командлета New-ADUser, укажите новый UPN суффикс с помощью параметра UserPrincipalName:
Сегодня вопрос с UPN суффиксами чаще всего возникает, когда вы планируете настроить синхронизацию локальной (on-premises) Active Directory с Azure AD, Microsoft 365, Intune. В Azure именно userPrincipalName является уникальным идентификатором пользователя.
Исторически так сложилось, что многие компании для своих внутренних доменов AD использует немаршрутизируемые или несуществующие DNS имена (вида *.loc, *.local).
У каждого пользователя AD, который будет синхронизироваться в Azure должен быть назначен уникальный и маршрутизируемый в интернете userPrincipalName, который соответствует доменному имени вашего тенанта Azure (Microsoft 365).
Основные атрибуты Active Directory
Подключал намедни линуксовый сервис для авторизации через AD, еле нашел описание соответствий атрибутов и их полей, да и те все на английском, что не очень удобно при русскоязычной системе, потому что хрен поймешь какие параметры за что отвечают. Чтобы каждый раз не выискивать их adexplorer’ом, решил составить таблицу основных атрибутов Active Directory.
Таблица основных пользовательских атрибутов Active Directory
Attribute \ Атрибут | Англоязычное название | Русскоязычное название | Value \ Значение |
OU (Organizational Unit) \ Подразделение | |||
distinguishedName | Distinguished Name | Отличительное (уникальное) имя | OU=Компания,DC=domain,DC=com |
name | Компания | ||
Group \ Группа | |||
distinguishedName | Distinguished Name | Отличительное (уникальное) имя | CN=Группа,OU=Компания,DC=domain,DC=com |
name | Группа | ||
member | Members | Члены группы (какие пользователи входят в данную группу) | CN=Сергей Петрович Иванов,OU=Компания,DC=domain,DC=com |
User \ Пользователь | |||
DN | Distinguished Name | Отличительное (уникальное) имя | CN=Сергей Петрович Иванов,OU=Компания,DC=domain,DC=com |
DC | Domain Component | Компонент(класс) доменного имени. | DC=domain,DC=com |
OU | Organizational Unit | Подразделение | Компания |
CN | Common Name | Общее имя | Сергей Петрович Иванов |
givenName | First name | Имя | Сергей Петрович |
name | Full name | Полное имя | Сергей Петрович Иванов |
sn (SurName) | Last name | Фамилия | Иванов |
displayName | Display Name | Выводимое имя | Сергей Петрович Иванов |
Электронная почта | mail@domain.com | ||
sAMAccountName | User logon name (pre-Windows 2000) | Имя входа пользователя (пред-Windows 2000) | IvanovSP |
userPrincipalName | User logon name | Имя входа пользователя | IvanovSP@domain.com |
memberOf | Member Of | Член групп (в какую группу входит данный пользователь) | CN=Группа,OU=Компания,DC=domain,DC=com |
Для более наглядного понимая приложу скрины:
Атрибут userAccountControl
Список основных значений атрибутов userAccountControl:
Userprincipalname что это в актив директори
Этот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
Задает имя участника-пользователя (UPN) для службы, подлинность которой должна быть проверена клиентом.
Дополнительные сведения о настройке имени участника-пользователя см. в статье удостоверение службы и проверка подлинности.
Синтаксис
Атрибуты и элементы
В следующих разделах описываются атрибуты, дочерние и родительские элементы.
Атрибуты
Атрибут | Описание |
---|---|
value | Имя учетной записи пользователя (которая иногда называется именем входа пользователя) и имя домена, которое определяет домен, в котором располагается учетная запись пользователя. Это стандартный способ входа в домен Windows. Формат: someone@example.com (как для адреса электронной почты). |
Дочерние элементы
Родительские элементы
Элемент | Описание |
---|---|
Задает удостоверение службы, подлинность которой должна быть проверена клиентом. |
Комментарии
клиент secure Windows Communication Foundation (WCF), который подключается к конечной точке с этим удостоверением, использует имя участника-пользователя при выполнении проверки подлинности SSPI с конечной точкой.
Пример
Приводимый ниже код конфигурации задает имя участника-пользователя (UPN) для службы, подлинность которой должна быть проверена клиентом.
Атрибуты именования пользователей
Атрибуты именования пользователей указывают объекты пользователя, такие как имена входа и идентификаторы, используемые в целях безопасности. Атрибуты CN, Name и distinguishedName являются примерами атрибутов именования пользователей. Объект пользователя является объектом субъекта безопасности, поэтому он также включает следующие атрибуты именования пользователя:
Просматривать эти атрибуты и управлять ими можно с помощью оснастки MMC «Active Directory пользователи и компьютеры», доступной в средства удаленного администрирования сервера (RSAT).
userPrincipalName
Атрибут userPrincipalName — это имя входа для пользователя. атрибут состоит из имени участника-пользователя (UPN), которое является наиболее распространенным именем для входа Windows пользователей. Пользователи обычно используют свое имя участника-пользователя для входа в домен. Этот атрибут является индексированной строкой с одним значением.
UPN — это имя входа в стиле Интернета для пользователя, основанное на стандарте RFC 822. Имя участника-пользователя короче различающегося имени, и его легче запомнить. По соглашению оно должно сопоставляться с адресом электронной почты пользователя. Точка UPN заключается в объединении пространств имен электронной почты и входа в систему, чтобы пользователю было достаточно запомнить только одно имя.
Формат имени участника-пользователя
Имя участника-пользователя состоит из префикса (имя участника-пользователя) и суффикса (имя субъекта-пользователя). Префикс объединяется с суффиксом с помощью символа «@». Например, «someone@ example.com». Имя участника-пользователя должно быть уникальным среди всех объектов субъекта безопасности в пределах леса каталога. Это означает, что префикс имени участника-пользователя можно использовать повторно, не используя тот же суффикс.
Суффикс имени участника-пользователя имеет следующие ограничения.
Управление UPN
Имя участника-пользователя может быть назначено, но не является обязательным при создании учетной записи пользователя. При создании имени участника-пользователя изменения в других атрибутах объекта User, таких как переименование или перемещение пользователя, не затрагиваются. Это позволяет пользователю при реструктуризации каталога иметь то же имя входа. Однако администратор может изменить имя участника-пользователя. При создании нового объекта пользователя следует проверить локальный домен и глобальный каталог на наличие предложенного имени, чтобы убедиться, что оно еще не существует.
Когда пользователь использует имя участника-пользователя для входа в домен, имя участника-пользователя проверяется с помощью поиска в локальном домене, а затем в глобальном каталоге. Если имя участника-пользователя не найдено в глобальном каталоге, попытка входа завершится неудачей.
objectGUID
Поскольку различающееся имя объекта изменяется при переименовании или перемещении объекта, различающееся имя не является надежным идентификатором объекта. В домен Active Directory Services атрибут objectGUID объекта никогда не изменяется, даже если объект переименован или перемещен. Форму строки objectGUID можно получить с помощью метода свойства GUID в методах Свойства iAds.
sAMAccountName
атрибут sAMAccountName — это имя входа, используемое для поддержки клиентов и серверов предыдущей версии Windows, таких как Windows NT 4,0, Windows 95, Windows 98 и LAN Manager. Имя входа должно иметь длину не более 20 символов и быть уникальным для всех объектов субъекта безопасности в домене.
objectSid
Атрибут objectSid является идентификатором безопасности (SID) пользователя. идентификатор безопасности используется системой для обнаружения пользователя и их членства в группах во время взаимодействия с Windows безопасностью. Атрибут является однозначным. Идентификатор безопасности — это уникальное двоичное значение, используемое для распознавания пользователя в качестве субъекта безопасности.
Идентификатор безопасности задается системой при создании пользователя. каждый пользователь имеет уникальный идентификатор безопасности, выданный доменом Windows и хранящийся в атрибуте objectSid объекта пользователя в каталоге. Каждый раз, когда пользователь входит в систему, система получает SID пользователя из каталога и помещает его в маркер доступа пользователя. Идентификатор безопасности пользователя также используется для получения идентификаторов безопасности для групп, членом которых является пользователь, и помещает их в маркер доступа пользователя. Если идентификатор безопасности используется в качестве уникального идентификатора пользователя или группы, он не может быть использован для идентификации другого пользователя или группы.
Лесами
User Principal Класс
Определение
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инкапсулирует участников, которые являются учетными записями пользователей.
Конструкторы
Инициализирует новый экземпляр класса UserPrincipal, используя заданный контекст.
Инициализирует новый экземпляр класса UserPrincipal, используя заданный контекст, имя учетной записи SAM, пароль и значение активности.
Свойства
Получает или задает объект DateTime, допускающий значение NULL, который указывает дату и время окончания срока действия учетной записи.
Возвращает объект DateTime, допускающий значение NULL, который указывает дату и время блокировки учетной записи.
Возвращает объект AdvancedFilters, чтобы задать свойства только для чтения до передачи объекта PrincipalSearcher.
Получает или задает логическое значение, которое указывает, включено ли для данной учетной записи обратимое шифрование пароля.
Возвращает число попыток входа с неверными учетными данными.
Возвращает элемент X509Certificate2Collection, содержащий сертификаты X509 для этой учетной записи.
Возвращает контекст участника, который связан с этим участником.
Возвращает контекст участника, который связан с этим участником.
Возвращает значение перечисления типов контекста, указывающее тип контекста участника, связанный с этим участником.
Возвращает объект участник-пользователь, представляющий текущего пользователя, от имени которого выполняется поток.
Возвращает логическое значение, допускающее значение NULL, которое указывает, может ли учетная запись делегироваться.
Получает или задает описание участника.
Получает или задает отображаемое имя участника.
Возвращает различающееся имя (DN) участника.
Возвращает или задает адрес электронной почты для данной учетной записи.
Возвращает или задает идентификатор сотрудника данного участника-пользователя.
Получает или задает логическое значение, допускающее значение NULL, которое указывает, включена ли для данной учетной записи проверка подлинности.
Возвращает или задает имя участника-пользователя.
Возвращает идентификатор GUID, связанный с участником.
Получает или задает домашний каталог учетной записи.
Получает или задает диск домашнего каталога учетной записи.
Возвращает объект DateTime, допускающий значение NULL, который указывает дату и время последней попытки ввода неверного пароля для данной учетной записи.
Возвращает объект DateTime, допускающий значение NULL, который указывает дату и время последнего входа для данной учетной записи.
Возвращает объект DateTime, допускающий значение NULL, который указывает дату и время последней установки пароля для учетной записи.
Возвращает или задает отчество участника-пользователя.
Получает или задает имя участника.
Получает или задает логическое значение, которое указывает, истекает ли срок действия пароля у данной учетной записи.
Получает или задает логическое значение, которое указывает, требуется ли пароль для учетной записи.
Получает или задает промежутки времени, когда участник может выполнить вход.
Возвращает список рабочих станций, на которые разрешено входить данному участнику.
Получает или задает имя учетной записи SAM для данного участника.
Получает или задает для учетной записи путь к скрипту.
Возвращает идентификатор безопасности участника.
Получает или задает логическое значение, которое указывает, требуется ли смарт-карта для входа в учетную запись.
Возвращает атрибут каталога класса структурного объекта.
Возвращает или задает фамилию участника-пользователя.
Получает или задает логическое значение, которое указывает, может ли пользователь изменять пароль к этой учетной записи. Не следует использовать с ComputerPrincipal.
Возвращает или указывает имя участника-пользователя (UPN), связанное с этим субъектом.
Возвращает или задает номер телефона участника-пользователя.
Методы
Изменяет старый пароль учетной записи на новый. Не следует использовать с ComputerPrincipal.
Определяет, был ли вызван для этого класса метод Dispose() или Delete(). Этот метод вызывается классами, производными от класса данного участника.
Удаляет объект-участник из хранилища.
Удаляет текущий экземпляр объекта Principal.
Возвращает логическое значение, указывающее, равен ли заданный объект текущему.
Завершает срок годности пароля для данной учетной записи. Это заставит пользователя сметить свой пароль при следующем входе.
Извлекает атрибут объекта расширенного класса.
Задает значение атрибута в расширенном классе.
Возвращает объект субъекта-пользователя, соответствующий заданному типу и значению удостоверения. Эта версия метода FindByIdentity определяет формат значения удостоверения.
Возвращает объект субъекта-пользователя, соответствующий заданному типу и значению удостоверения.
Возвращает коллекцию PrincipalSearchResult с пользовательскими объектами, для которых настроено время блокировки учетной записи в определенном диапазоне дат и времени.
Возвращает коллекцию главных объектов, содержащих все группы авторизации, к которым принадлежит этот пользователь. Эта функция возвращает только группы, которые являются группами безопасности. Группы распространения не возвращаются.
Возвращает коллекцию объектов групп, указывающих группы, в которые входит текущий участник.
Возвращает коллекцию объектов групп, в которые входит участник и которые существуют в хранилище, заданном в параметре контекста.
Извлекает хэш, созданный из содержимого объекта-участника, который подходит для использования в алгоритмах хэширования и структурах данных, таких как хэш-таблица.
Возвращает объект Type для текущего экземпляра.
Возвращает базовый объект DirectoryEntry, который предоставляет контактные данные для объекта субъекта.
Возвращает базовый тип объекта.
Возвращает логическое значение, указывающее, заблокирована ли учетная запись.
Возвращает логическое значение, указывающее, входит ли участник в указанную группу.
Возвращает логическое значение, указывающее, входит ли участник в группу, заданную типом и значением удостоверения.
Создает неполную копию текущего объекта Object.
Обновляет пароль с истекшим сроком действия.
Сохраняет изменения объекта-участника в хранилище. Если это новый объект-участник, метод помещает его в хранилище.
Сохраняет изменения объекта-участника в хранилище. Если это новый объект-участник, метод помещает его в указанный контекст. Если участник уже сохранен, он перемещается из исходного контекста в указанный.
Присваивает паролю учетной записи указанное значение.
Возвращает понятное строковое представление текущего объекта-участника.
Разблокирует учетную запись, если она в текущий момент заблокирована.