根据Get-AdUser的结果设置AD用户的UPN

时间:2018-08-03 11:32:18

标签: powershell active-directory

我在AD中有一些用户的UPN地址设置为User@this.org。我想更改这些用户,以便他们的UPN看起来像User@that.com

我写了一条PS线来找到我这样的用户:

Get-ADUser -LDAPFilter "(&(objectCategory=person)(objectClass=user)(!userAccountControl:1.2.840.113556.1.4.803:=2)(userPrincipalName=*@this.org))" -SearchBase "OU=this,DC=that"  | Select SamAccountName

但是我该如何更新那些用户。我知道Set-AdUser命令,但是我不知道如何将Get-Aduser的结果输入到其中。

1 个答案:

答案 0 :(得分:5)

只需将其通过管道传输到Set-ADUser

Get-ADUser -LDAPFilter "(&(objectCategory=person)(objectClass=user)(!userAccountControl:1.2.840.113556.1.4.803:=2)(userPrincipalName=*@this.org))" -SearchBase "OU=this,DC=that" | % {Set-ADUser $_ -UserPrincipalName "that"} 

警惕,在整个广告崩溃之前,在测试期间使用-Whatif

说明:

%-foreach的别名

$_-等于foreach的每个对象(在Get-ADuser中找到的每个用户)

-UserPrincipalName "that"-将给定用户的UPN设置为that