如何更改多个用户的 UPN 后缀?

我正在为迁移到 office365 做准备,因为我们有 mydomain.local 域,所以我需要添加一个替代 UPN(与我的 SMTP 命名空间相同)所以 mydomain.com。我将备用 UPN 添加到我的域中,现在我想一次更改多个用户 UPN。

我选择多个用户 > 右键单击​​ > 属性 > 帐户 > UPN 后缀,然后从下拉列表中选择 UPN。完成后,我单击“确定”或“应用”,所有选定用户都收到以下错误:

指定的目录服务属性或值不存在。

当我从一个用户更改它时,它可以正常工作。

我现在的问题是,有人可以帮我解决,告诉我为什么会出现这个错误,或者我可以用什么方法来实现。

谢谢

stack overflow How to change multiple users UPN suffix?
原文答案

答案:

作者头像

你可以试试 http://admodify.codeplex.com/
这里有一篇文章展示了它的用法示例: http://blogs.technet.com/exchange/archive/2004/08/04/208045.aspx

作者头像

最好使用脚本来更改批量用户,而不是使用您提到的方法。

您可以为此使用PowerShell脚本(推荐)或VBScript。

PowerShell脚本(使用CSV文件):

http://gallery.technet.microsoft.com/Change-UPN-592177ea

PowerShell脚本(适用于OU搜索库中的所有用户):

http://community.spiceworks.com/scripts/show/1457-mass-change-upn-suffix

vbscript:

http://blogs.technet.com/b/heyscriptingguy/archive/2004/12/06/how-can-i-assign-a-new-upn-to-all-my-users.aspx?Redirected=true

作者头像

使用以下powershell脚本。将“ contoso.local”更改为您的实际域名。

$localUsers = Get-ADUser -Filter {UserPrincipalName -like "contoso.local"} -Properties UserPrincipalName -ResultSetSize $null

$localUsers | foreach { $newUpn = $_.UserPrincipalName.Replace("contoso.local", "yourdomain.com"; $_ | Set-ADUser -UserPrincipalName $newUpn}