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

Yur*_*oor 1 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
Run Code Online (Sandbox Code Playgroud)

但是如何更新这些用户.我知道Set-AdUser命令,但我无法弄清楚如何将结果Get-Aduser输入其中.

Pax*_*axz 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"} 
Run Code Online (Sandbox Code Playgroud)

只是一个抬头,-Whatif在你崩溃整个AD之前在测试期间使用.

说明:

% - foreach的别名

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

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

  • @HenrikStanleyMortensen是的你是对的.我添加了一个小解释. (2认同)