Назад | Перейти на главную страницу

Как я могу использовать командную консоль Exchange для установки FirstName и LastName в нескольких почтовых ящиках?

Я импортировал более 100 новых почтовых ящиков, используя Import-CSV и New-Mailbox и Name и DisplayName поля были заполнены правильно, однако, похоже, я пропустил настройку FirstName и LastName поля.

В Name поля имеют формат John Doe (у каждого импортированного пользователя есть только 1 имя и 1 фамилия, поэтому нет таких пользователей, как John M. Doe или Le-Ann F. Blah.

Мне нужно разделить Name поле и введите первое слово в FirstName и последнее слово в LastName. Как я могу это сделать?

Поскольку мы хотим редактировать только тех пользователей, которых вы импортировали ранее, а не всю AD, я собираюсь использовать тот же файл CSV, который вы использовали изначально. Кроме того, поскольку вы не предоставили образец копии того, как выглядит ваш файл CSV, я предполагаю, что у вас есть свойство SamAccountName. Это должно сработать для вас.

Я добавил параметр -WhatIf, чтобы вы могли перепроверить результаты. Просто удалите его, когда будете готовы запустить его.

$CSVfile = Import-Csv C:\file.csv

Foreach ($item in $CSVfile) {
    #Find the user account.  Maybe redundant but it's the proper input to the Identity param
    $user = Get-ADUser -Identity ($item.SamAccountName) -Properties DisplayName,GivenName,Surname,UserPrincipalName

    #Split DisplayName
    $GivenName,$Surname = $user.DisplayName.split(' ',2)

    #Set GivenName and Surname
    Set-ADUser -Identity $user -GivenName $GivenName -Surname $Surname -WhatIf
}

Также в будущем, пожалуйста, проведите дополнительные исследования, прежде чем задавать такой широкий вопрос. Я знаю, что этот вопрос задавали раньше. Пример: https://social.technet.microsoft.com/Forums/en-US/c532589b-dbe1-47a2-96e1-f174348c14e0/setaduser-to-modify-givenname-and-surname-attributes-based-upon-displayname-in- powershell? forum = winserverpowershell