Powershell 脚本:Set-ADUser 更新电子邮件属性 samaccountname 变量

Powershell 脚本:Set-ADUser 更新电子邮件属性 samaccountname 变量

我需要一个 Powershell 脚本来编辑 Active Directory 中特定 OU 内的所有用户电子邮件属性。

下面的代码搜索正确的 OU 并编辑其中的用户电子邮件属性,但是用户电子邮件属性被替换为 @domain.com,而不是[电子邮件保护]

我的语法错误吗:$($_.samaccountname)?

Get-ADUser -Filter * -SearchBase "OU=Test,OU=People,DC=ad,DC=domain,DC=com" | Set-ADUser -email "$($_.samaccountname)@domain.com"

我很感谢你的帮助。

答案1

问题不在于您的语法,而在于该变量$_在此上下文中不存在。

要使用它你需要进入 foreach 循环。

Get-ADUser -Filter * -SearchBase "OU=Test,OU=People,DC=ad,DC=domain,DC=com" |
    Foreach-Object { Set-ADUser -email "$($_.samaccountname)@domain.com" }

答案2

Set-ADUser -email "$($_.samaccountname)@domain.com"

其实比这简单多了。只需使用

Set-ADUser -email ($_.samaccountname + "@domain.com")

相关内容