Управление UPN суффиксами (UserPrincipalName) в Active Directory
21.05.2021
itpro
Active Directory, Azure, Windows Server 2016
комментариев 12
В этой статье мы рассмотрим, что такое UPN (UserPrincipalName) суффиксы в Active Directory, как добавить дополнительные суффиксы в лесу AD, и назначить/изменить UPN суффикс пользователям Active Directory через графическую консоль и PowerShell.
UserPrincipalName (UPN) – это имя для входа пользователя в формате email адреса, например [email protected] (UPN имя не обязательно должно соответствовать email адресу пользователя). В этом примере kbuldogov это имя пользователя в домене AD (user logon name), contoso.com – UPN суффикс. Между ними разделитель @ .
По умолчанию в Active Directory в качестве UPN суффикса используется DNS имя вашего домена AD. Например, UserPrincipalName пользователя в домене winitpro.local выглядит так: [email protected]
Если в вашей внутренней 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), выполните команду:
Get-ADForest | Set-ADForest -UPNSuffixes @
Проверьте, что суффикс появился в UPNSuffixes:
Get-ADForest | Format-List UPNSuffixes

- Также можно добавить UPN суффикс через консоль Active Directory Domains and Trusts:
- Откройте консоль domain.msc ;
- Откройте свойства Active Directory Domains and Trusts:
- Добавьте новый суффикс в поле Alternative UPN suffixes и нажмите Add.

Как изменить 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
Set-ADUser kbuldogov -UserPrincipalName [email protected]
Следующий PowerShell скрипт позволит найти в указанной OU всех пользователей с определённым UPN суффиксом и изменить UserPrincipalName на новый.
Get-ADUser -Filter
ForEach-Object <
$UPN = $_.UserPrincipalName.Replace(«resource.loc»,»winitpro.ru»)
Set-ADUser $_ -UserPrincipalName $UPN -verbose
>

Следующая команд PowerShell позволит найти пользователей, у которых userPrincipalName не задан:
Get-ADUser -LDAPFilter «(!(userPrincipalName=*))» | Select distinguishedName
Если вы создаёте нового пользователя, можете выбрать нужный UPN суффикс вместо DNS имени вашего домена.

Если вы создаёте пользователей с помощью PowerShell командлета New-ADUser, укажите новый UPN суффикс с помощью параметра UserPrincipalName:
New-ADUser -Name «Test User2» -GivenName «Test» -Surname «User2» -SamAccountName «testuser2» -UserPrincipalName «[email protected]»
Сегодня вопрос с UPN суффиксами чаще всего возникает, когда вы планируете настроить синхронизацию локальной (on-premises) Active Directory с Azure AD, Microsoft 365, Intune. В Azure именно userPrincipalName является уникальным идентификатором пользователя.
Исторически так сложилось, что многие компании для своих внутренних доменов AD использует немаршрутизируемые или несуществующие DNS имена (вида *.loc, *.local).
У каждого пользователя AD, который будет синхронизироваться в Azure должен быть назначен уникальный и маршрутизируемый в интернете userPrincipalName, который соответствует доменному имени вашего тенанта Azure (Microsoft 365).
Предыдущая статья Следующая статья
Как управлять учетными записями пользователей в Active Directory. Часть 1: Создание и удаление пользователей
Пользовательские учетные записи одни из самых популярных объектов в AD. Они нужны для аутентификации и авторизации на рабочих компьютерах и во многих сервисах, интегрированных с AD. Решение различных проблем связанных с УЗ пользователей, а так же управление ими является одной из главных рутин для администраторов и специалистов хелпдеска. Данное руководство поможет вам сделать это несколькими способами. Чтобы управлять УЗ пользователей, необходимо войти на контроллер домена или сервер или устройство с установленными средствами удаленного администрирования сервера (RSAT) для Active Directory Domain Services.
Для того чтобы не было ошибок доступа, нам нужен аккаунт администратора домена или группы операторов учетных записей (Account Operators group), либо УЗ, которая делегирована на создание пользовательских объектов в домене или в нужной нам организационной единице (OU), которую мы будем использовать для хранения аккаунтов.
Как создать учетную запись пользователя
Давайте создадим учетную запись пользователя AD несколькими способами.
Создание учетной записи пользователя с помощью ADUC
Запустите Active Directory Users and Computers (dsa.msc).
Перейдите в нужную вам OU (organizational unit) или контейнер. На панели задач нажмите на значок New User, или щелкните правой кнопкой мыши пустое место в главном окне и выберите New -> User из меню, или щелкните правой кнопкой по выбранному вами OU или контейнеру и выберите New -> User.

Появится окно New Object — User, укажите параметры для вашего пользователя:
- Full Name, введите полное имя в поле Full Name или введите отдельно фамилию и имя в поля First Name и Last Name.
- User logon name — Имя логина пользователя, данный параметр создаст атрибут userPrincipalName и атрибут sAMAccountName, которые пользователь будет вводить при входе в систему.

Нажмите Next и укажите Пароль, затем наберите его во втором поле и отметьте нужные настройки, обычно для нового пользователя нужно отметить «User must change password at next logon«(Пользователь должен сменить пароль при следующем входе).

Нажмите Next и Finish. Поздравляем, учетная запись пользователя успешно создана!
Создание УЗ пользователя с помощью cmd.exe
Используйте следующую команду с необходимыми параметрами для создания объекта пользователя в контейнере «Users«, имя пользователя в примере будет GSoul:
dsadd.exe user «CN=GSoul,CN=Users,DC=office,DC=local» -upn GSoul@office.local -fn «Gordon» -ln «Soul» -display «Gordon Soul» -pwd «P@&&W0rd»
Создание учетной записи пользователя с помощью Windows PowerShell
Запустите следующий код PowerShell с правами администратора:
Import-Module ActiveDirectory
New-ADUser -Name FRobinson -Path «CN=Users,DC=office,DC=local» -GivenName «Frank» -Surname «Robinson» -sAMAccountName FRobinson
Как удалить учетную запись пользователя
Для того чтобы удалить пользователя из Active Directory, используйте один из следующих методов. Обратите внимание, что это не приведет к полному удалению УЗ, если у вас настроена корзина AD Recycle Bin.
Удаление учетной записи пользователя с помощью Active Directory Users and Computers
Чтобы удалить пользователя из домена, откройте Active Directory Users and Computers (dsa.msc).
Нажмите на меню View, включите Advanced Features. Перейдите в OU или контейнер, где находится объект пользователя, который вы собираетесь удалить. В меню Action выберите Find.

В поле Name введите имя пользователя, которого вы хотите удалить, и нажмите кнопку «Find now«. В списке результатов поиска выберите нужного пользователя.

Щелкните правой кнопкой мыши на пользователя и выберите из списка пункт «Delete«, а затем «Yes«.
Удаление учетной записи пользователя с помощью командной строки
Следующая команда удаляет пользователя «GSoul» из контейнера “Users” из домена office.local:
dsrm.exe «CN=Gregory Soul,CN=Users,DC=office,DC=local»
Удаление учетной записи пользователя с помощью Windows PowerShell
Используйте следующий PowerShell код для удаления пользователя из AD, синтаксис для примера использован такой же, как и в примере выше:
Import-Module ActiveDirectory
Remove-ADUser -Identity «CN=GSoul,CN=Users,DC=office,DC=local»