Powershell 如何更改AD中的用户登录名后缀?

Powershell 如何更改AD中的用户登录名后缀?,powershell,active-directory,ldap,Powershell,Active Directory,Ldap,我需要更改Active Directory中每个用户的UPN后缀,但不能通过可视化界面进行更改 我已经尝试过批量操作,但我不允许将UPN后缀更改为所有用户 PS C:\>Set ADUser-Identity CorgiTopi-UserPrincipalNameCTopi@centria.com 我希望UPN是CTopi@centria.com,但实际结果是CTopi@centria.com@centria.gb我也不能复制这个。当我尝试它的时候,它就像预期的那样工作。可能是由于Set-ADU

我需要更改Active Directory中每个用户的UPN后缀,但不能通过可视化界面进行更改

我已经尝试过批量操作,但我不允许将UPN后缀更改为所有用户

PS C:\>Set ADUser-Identity CorgiTopi-UserPrincipalNameCTopi@centria.com


我希望UPN是
CTopi@centria.com
,但实际结果是
CTopi@centria.com@centria.gb

我也不能复制这个。当我尝试它的时候,它就像预期的那样工作。可能是由于
Set-ADUser
cmdlet的版本不同,或者更可能是代码中出现了其他问题

如果使用
-UserPrincipalName
参数自动为您添加域名,则您可以尝试使用
-Replace
参数。它应该按照你说的去做,而不需要对你的价值进行任何额外的处理

Set-ADUser -Identity CorgiTopi -Replace @{userPrincipalName="CTopi@centria.com"}
旁注:这可能与您无关:实际上并不需要在域中添加UPN后缀才能使其工作。您可以将
userPrincipalName
更新为您想要的任何内容。例如,这甚至会起作用:

Set-ADUser -Identity CorgiTopi -Replace @{userPrincipalName="CTopi@stackoverflow.com"}
只是广告用户和计算机迫使您使用在域上注册的备用UPN后缀之一


但我并不是建议任何人如果要使用UPN后缀,就不要添加它。

我也不能复制它。当我尝试它的时候,它就像预期的那样工作。可能是由于
Set-ADUser
cmdlet的版本不同,或者更可能是代码中出现了其他问题

如果使用
-UserPrincipalName
参数自动为您添加域名,则您可以尝试使用
-Replace
参数。它应该按照你说的去做,而不需要对你的价值进行任何额外的处理

Set-ADUser -Identity CorgiTopi -Replace @{userPrincipalName="CTopi@centria.com"}
旁注:这可能与您无关:实际上并不需要在域中添加UPN后缀才能使其工作。您可以将
userPrincipalName
更新为您想要的任何内容。例如,这甚至会起作用:

Set-ADUser -Identity CorgiTopi -Replace @{userPrincipalName="CTopi@stackoverflow.com"}
只是广告用户和计算机迫使您使用在域上注册的备用UPN后缀之一


但我并不是建议任何人如果要使用UPN后缀,就不要添加它。

您是否看到
centria.com
在运行
get adforest | select domains,upnsuffixes
时作为域或UPN后缀列出?如果没有,您需要先将其添加为后缀。是的,centria.com被列为UPN后缀,但不是域。也许这就是问题所在?如果UPN后缀不是您的广告域名称,它应该足够好。我可以通过用户界面更改它,但不能通过Powershell更改它。我无法复制此问题。如果将UPN用单引号括起来,结果是否相同<代码>设置ADUser-Identity CorgiTopi-UserPrincipalName'CTopi@centria.com“。也许您应该发布这个过程的整个代码块,因为可能会意外地附加一些内容。可能代码正在使用
$UPN+$domain
,其中
$UPN
已经包含您想要的域。您是否看到
centria.com
在运行
get adforest | select domains,upnsuffixes
时列为域或UPN后缀?如果没有,您需要先将其添加为后缀。是的,centria.com被列为UPN后缀,但不是域。也许这就是问题所在?如果UPN后缀不是您的广告域名称,它应该足够好。我可以通过用户界面更改它,但不能通过Powershell更改它。我无法复制此问题。如果将UPN用单引号括起来,结果是否相同<代码>设置ADUser-Identity CorgiTopi-UserPrincipalName'CTopi@centria.com“。也许您应该发布这个过程的整个代码块,因为可能会意外地附加一些内容。可能代码正在使用
$UPN+$domain
,其中
$UPN
已经包含您想要的域。