Userprincipalname что это в актив директори

Управление UPN суффиксами (UserPrincipalName) в Active Directory

date21.05.2021
useritpro
directoryActive Directory, Azure, Windows Server 2016
commentsкомментариев 12

В этой статье мы рассмотрим, что такое UPN (UserPrincipalName) суффиксы в Active Directory, как добавить дополнительные суффиксы в лесу AD, и назначить/изменить UPN суффикс пользователям Active Directory через графическую консоль и PowerShell.

UserPrincipalName (UPN) – это имя для входа пользователя в формате email адреса, например kbuldogov@contoso.com (UPN имя не обязательно должно соответствовать email адресу пользователя). В этом примере kbuldogov это имя пользователя в домене AD (user logon name), contoso.com – UPN суффикс. Между ними разделитель @ .

По умолчанию в 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), выполните команду:

Get-ADForest | Set-ADForest -UPNSuffixes @

Проверьте, что суффикс появился в UPNSuffixes:

Get-ADForest | Format-List UPNSuffixes

Get-ADForest | Format-List UPNSuffixes

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

добавить альтернативный UserPrincipalName пользователям в домене Active Directory

Как изменить UserPrincipalName у пользователей Active Directory?

Текущее значение UserPrincipalName пользователя можно вывести с помощью командлета Get-ADUser:

Get-ADUser UserPrincipalName

Dы можете задать новый UPN суффикс для своих пользователей. Самый простой вариант – изменить UserPrincipalName в свойствах пользователя в консоли ADUC ( dsa.msc ).

Как вы видите, в выпадающем списке доступны все UPN суффиксы домена. Выберите нужный и нажмите OK.

изменить UserPrincipalName пользователя

Обратите внимание, что на этой форме UserPrincipalName как бы состоит из двух частей – имени пользователя и UPN суффикса. Но по факту значение UserPrincipalName хранится в одном атрибуте AD.

атрибут UserPrincipalName в Active Directory

Когда вам нужно изменить UPN сразу нескольким пользователям, можно выбрать

несколько пользователей в консоли ADUC и нажать Properties. Перейдите на вкладку Account и вы можете сменить UPN суффикс сразу для всех пользователей (если нужно собрать в плоский список пользователей из разных OU, воспользуйтесь сохраненными запросами в консоли ADUC).

задать новый UPN suffix для нескольких пользователей

На гораздо проще для смены UPN суффикса использовать PowerShell.

Чтобы изменить UPN суффикс одному пользователю, используйте командлет Set-ADUser с параметром UserPrincipalName

Set-ADUser kbuldogov -UserPrincipalName kbuldogov@winitpro.ru

Следующий PowerShell скрипт позволит найти в указанной OU всех пользователей с определённым UPN суффиксом и изменить UserPrincipalName на новый.

Get-ADUser -Filter -SearchBase » OU=Users,OU=SPB,OU=RU,DC=resource,DC=loc» |
ForEach-Object <
$UPN = $_.UserPrincipalName.Replace(«resource.loc»,»winitpro.ru»)
Set-ADUser $_ -UserPrincipalName $UPN -verbose
>

скрипт powershell для смены UserPrincipalName сразу множеству пользователей Active Directory

Следующая команд PowerShell позволит найти пользователей, у которых userPrincipalName не задан:

Get-ADUser -LDAPFilter «(!(userPrincipalName=*))» | Select distinguishedName

Если вы создаёте нового пользователя, можете выбрать нужный UPN суффикс вместо DNS имени вашего домена.

создать пользователя AD с новым UserPrincipalName

Если вы создаёте пользователей с помощью PowerShell командлета New-ADUser, укажите новый UPN суффикс с помощью параметра UserPrincipalName:

New-ADUser -Name «Test User2» -GivenName «Test» -Surname «User2» -SamAccountName «testuser2» -UserPrincipalName «testuser2@winitpro.ru»

Сегодня вопрос с UPN суффиксами чаще всего возникает, когда вы планируете настроить синхронизацию локальной (on-premises) Active Directory с Azure AD, Microsoft 365, Intune. В Azure именно userPrincipalName является уникальным идентификатором пользователя.

Исторически так сложилось, что многие компании для своих внутренних доменов AD использует немаршрутизируемые или несуществующие DNS имена (вида *.loc, *.local).

У каждого пользователя AD, который будет синхронизироваться в Azure должен быть назначен уникальный и маршрутизируемый в интернете userPrincipalName, который соответствует доменному имени вашего тенанта Azure (Microsoft 365).

Userprincipalname что это в актив директори

ADДобрый день! Уважаемые читатели и гости одного из крупнейших IT блогов рунета Pyatilistnik.org. В прошлый раз мы с вами установили роль Active Directory в Windows Server 2019. Вы продолжаете использовать ваш домен, количество доменов в лесу увеличивается и вы можете столкнуться с ситуацией, что у двух или более пользователей атрибут учетной записи SamAccountName в рамках леса Active Directory одинаковый, и вот при использовании различных сервисов, где используется учетная запись из AD, может быть проблема при авторизации. Сегодня я вас научу находить такие такие дубли, чтобы вы могли их исправить и видеть масштаб проблемы.

Атрибуты samAccountName и UserPrincipalName

Я вам ранее уже писал вводную статью про основные понятия Active Directory и там я разбирал от части атрибуты AD, советую почитать. Очень важными атрибутами учетной записи пользователя являются samAccountName и UserPrincipalName.

Атрибут UserPrincipalName

UserPrincipalName — атрибут является именем для входа пользователя. Атрибут состоит из имени участника-пользователя и UPN суффикса, является наиболее распространенным именем входа для пользователей Windows. Пользователи обычно используют свои UPN для входа в домен. Этот атрибут является индексированной строкой, которая имеет одно значение.

UPN — это имя для входа в Интернет-стиле для пользователя, основанное на стандарте Internet RFC 822. По соглашению это должно соответствовать имени электронной почты пользователя. Смысл UPN состоит в том, чтобы объединить пространства имен электронной почты и входа в систему, чтобы пользователю было необходимо запомнить только одно имя. Пример barboskin.g@root.pyatilistnik.org

Особенности атрибута UserPrincipalName:

  • Значение атрибута UserPrincipalName может соответствовать электронной почте пользователя (и это очень удобно при переносе, настройках профиля и т.д.)
  • Формат идентификатора соответствует стандарту RFC 822
  • Максимальный размер значения UPN не ограничен 20 символами (можно использовать до 256 символов)
  • Атрибут UserPrincipalName, в отличие от samAccountName, является необязательным, но его рекомендуется заполнять.

Атрибут samAccountName

SamAccountName атрибут является регистрационным именем используется для поддержки клиентов и серверов от предыдущей версии Windows, таких как Windows NT 4.0, Windows 95, Windows 98, одним слово обратная совместимость со старым софтом и ОС. Имя для входа должно содержать не более 20 символов и быть уникальным среди всех объектов участников безопасности в домене.

Атрибут samAccountName имеет следующий формат <YOUR_NETBIOS_DOMAIN_NAME>\<USER_name>. Например, мой домен root.pyatilistnik.org использует имя домена NetBIOS ROOT. Таким образом, имя пользователя barboskin.g в формате samAccountName должно выглядеть так: ROOT\barboskin.g

Особенности атрибута samAccountName:

  • Размер значения samAccountName для пользователя не должен превышать 20 символов из-за обратной совместимости (для объекта компьютера максимальный размер samAccountName составляет 16 символов). Если имя учетной записи превышает 20 символов, имя пользователя в атрибуте samAccountName будет усечено;
  • Значение samAccountName должно быть уникальным для всех объектов домена;
  • Переменная среды на компьютере Windows% и USERNAME% содержат значение атрибута samAccountName, а не UserPrincipalName. Значение SamAccountName на компьютере пользователя можно получить с помощью переменной среды USERNAME. Его можно отобразить с помощью команды set в cmd или с помощью gci env: в PowerShell.

Как посмотреть samAccountName и UserPrincipalName

Чтобы увидеть данные атрибуты вам достаточно открыть оснастку ADUC, найти нужного вам пользователя и перейти на вкладку «Учетная запись» тут будет:

  • Имя входа пользователя — это и есть UserPrincipalName barboskin.g@root.pyatilistnik.org
  • Имя входа пользователя (пред-Windows 2000) — это и есть samAccountName ROOT\barboskin.g.

Как посмотреть samAccountName и UserPrincipalName

И так же посмотреть в PowerShell, например вот так:

samAccountName и UserPrincipalName

Хочу отметить, что значения в атрибутах samAccountName и UserPrincipalName не обязательно должны совпадать на уровне логина.

Как найти дубликаты samAccountName

Предположим, что у меня есть лес с 4-ми доменами и мне вот приспичило вычислить сколько и какие дубли у меня есть по атрибуту samAccountName. Для быстрого выполнения работы я воспользуюсь скриптом PowerShell.

Кладем его в нужный вам каталог, открываем PowerShell и переходим в данный каталог. Поиск будем производить по лесу, для этого пишем:

Искать мы будем значения samaccountname для объектов user. У вас появится окно подтверждения выполнения скрипта, соглашаемся нажав клавишу R. Через некоторое время в той папке, где лежит скрипт будет создан csv файл со списком пользователей имеющих одинаковое значение в атрибуте samAccountName.

Как управлять учетными записями пользователей в 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»

samAccountName vs userPrincipalName

In Active Directory based environment, everyone should come across the AD attribute names samAccountName and userPrincipalName or UPN. In this article, I am going to explain the difference between samAccountName and userPrincipalName(UPN).

The samAccountName is the User Logon Name in Pre-Windows 2000 (this does not mean samAccountName is not being used as Logon Name in modern windows systems). The userPrincipalName is a new way of User Logon Name from Windows 2000 and later versions. user Name part can be different for the same user like DomainNametestUser and userTest@DomainName.Com.

Before see the detailed explanation, we can check the summarized details of userPrincipalName and samAccountName.

SamAccountName

– The samAccountName attribute is the user logon name used to support clients and servers from a previous version of Windows ( Pre-Windows 2000).
– The user logon name format is : DomainName\testUser.
– The samAccountName must be unique among all security principal objects within the domain.
– The samAccountName should be less than 20 characters.
– Query for the new name against the domain to verify that the samAccountName is unique in the domain.
– The USERNAME environment variable is the samAccountName even when logging with UPN

UserPrincipalName – (UPN)

– The UPN is an Internet-style login name for the user based on the Internet standard RFC 822.
– The user logon name format is : testUser@DomainName.com.
– The UPN must be unique among all security principal objects within the directory forest.
– The advantage of using an UPN is that it can be the same as the users email address so that the user need to remember only a single name.
– The UPN is optional, it can be assigned or not when the user account is created.
– The userPrincipalName is unaffected by changes to other attributes of the user object, for example, if the user is renamed or moved, or changes to the domains in the tree, for example, if a parent domain was renamed or a domain was moved. Thus, a user can keep the same login name, although the directory may be radically restructured.

Working with samAccountName and userPrincipalName

Lets take the following test user whose samAccountName is Test2 and userPrincipalName is Test1@Work2008.local

samAccountName vs userPrincipalName in Active Directory

samAccountName vs userPrincipalName in Active Directory

Now, we can use the RunAs command to validate these two user logon names. To use RunAs command, you need to run the command prompt with an elevated privilege (Run As Administrator) and the Test user should be the member of Domain Admins group.

Use the below command to validate samAccountName login name

difference between samAccountName and userPrincipalName(UPN)

Use the below command to validate userPrincipalName login name

difference between userPrincipalName and samAccountName

USERNAME environment variable is the sAMAccountName even when logging with UPN:

We have stated that the USERNAME environment variable is the sAMAccountName even when logging with UPN. To check this run the below command in new cmd window opened by RunAs command with userPrincipalName

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *