如何使用 Exchange 命令行管理程序在多个邮箱上设置 FirstName 和 LastName?

如何使用 Exchange 命令行管理程序在多个邮箱上设置 FirstName 和 LastName?

Import-CSV我使用和导入了 100 多个新邮箱,New-Mailbox并且NameDisplayName字段已正​​确填充,但似乎我忘记设置FirstNameLastName字段了。

字段Name的格式为John Doe(每个导入的用户只有 1 个名字和 1 个姓氏,因此没有像John M. Doe或 这样的用户Le-Ann F. Blah

我需要拆分Name字段并将第一个单词放入 to 中FirstName,将最后一个单词放入 to 中LastName。我该怎么做?

答案1

因为我们只想编辑您之前导入的相同用户,而不是整个 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

相关内容