Добавление userPrincipalName с помощью скрипта - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть файл CSV, содержащий всех моих пользователей AD сценария тестирования.Файл CSV содержит всю следующую информацию:

  • Идентификационный номер
  • Имя
  • Фамилия
  • SamAccountName
  • OU Path

Пользователи созданы.Некоторые из этих пользователей не имеют userPrincipalName все остальные атрибуты в порядке.

Я хочу написать сценарий s, который добавит userPrincipalName всем пользователям.

Что я пробовал:

$CSVusers = import-csv C:\CorpCSV.csv
$Users = $CSVusers.SamAccountName
$Users | % {Get-ADUser $_ | Set-ADUser $_ -userPrincipalName $Users}

Я не получил никаких ошибок, но, похоже, ничего не произошло.Атрибут все еще пуст в AD.(См. В приложении).

enter image description here

1 Ответ

0 голосов
/ 04 декабря 2018

Вам необходимо указать, каким должно быть желаемое UserPrincipleName.
Похоже, это не часть вашего входного CSV-файла.
Обычно UserPrincipleName имеет значение sAMAccountName@DnsDomainName

Если пользователивсе в том же домене, в который вы вошли, вы можете создать часть имени домена, используя $env:USERDNSDOMAIN или [System.Net.Dns]::GetHostEntry($env:COMPUTERNAME).HostName

$CSVusers = Import-Csv C:\PollogenCSV.csv
# get an array of just the sAMAccountNames
$Users = $CSVusers.SamAccountName
$Domain = $env:USERDNSDOMAIN  # or use [System.Net.Dns]::GetHostEntry($env:COMPUTERNAME).HostName
$Users | ForEach-Object { 
    # construct the UserPrincipalName
    $upn = "{0}@{1}" -f $_, $Domain
    Get-ADUser $_ | Set-ADUser -UserPrincipalName $upn
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...