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

Posted

技术标签:

【中文标题】如何更改多个用户的 UPN 后缀?【英文标题】:How to change multiple users UPN suffix? 【发布时间】:2013-03-01 10:38:38 【问题描述】:

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

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

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

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

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

谢谢

【问题讨论】:

您是否在林根级别定义了 UPN 后缀? 是的,我做到了。可以更改单个用户,但不能更改组。 我会使用脚本。 【参考方案1】:

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

【讨论】:

【参考方案2】:

使用以下 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

【讨论】:

【参考方案3】:

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

您可以为此使用 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

【讨论】:

以上是关于如何更改多个用户的 UPN 后缀?的主要内容,如果未能解决你的问题,请参考以下文章

Powershell批量修改用户的UPN后缀

AD创建UPN后缀

如何获取当前登录用户的 UPN(用户主体名称)?

将所有用户的 immutableID 设置为 UPN

如何在 .NET Web 应用程序中为经过身份验证的用户获取 UPN,而不查询 Active Directory

Azure AD 链接帐户和备用登录映射