我正在尝试使用PowerShell修改AD中的多个用户。我想添加/更新字段以提供其计算机的完整路径。 Hete是我到目前为止的剧本......
Get-ADUser -Filter * -SearchBase 'OU=CCG,OU=CCG-Users,OU=CCG-All-PCs-and-Users,OU=CCG,OU=Departments,DC=serve,DC=group,DC=net' |
Set-ADUser -Add @{OtherLoginWorkstations='($_.samaccountname).serve.group.net'}
我提出的最好的是将字段更改为“.serve.group.net”,但在开头没有包含SAMACCOUNTNAME(这是他们计算机的名称)。
非常感谢任何帮助。
答案 0 :(得分:1)
要使用$_
引用管道元素,您需要使用Foreach-Object
循环
Get-ADUser -Filter * -SearchBase 'OU=CCG,OU=CCG-Users,OU=CCG-All-PCs-and-Users,OU=CCG,OU=Departments,DC=serve,DC=group,DC=net' |
ForEach-Object {
Set-ADUser Identity $_.SamAccountName -Add @{OtherLoginWorkstations = $_.samaccountname + ".serve.group.net"}
}
答案 1 :(得分:1)
将单引号更改为双引号,并确保使用子表达式$()
:
Get-ADUser -Filter * -SearchBase 'OU=CCG,OU=CCG-Users,OU=CCG-All-PCs-and-Users,OU=CCG,OU=Departments,DC=serve,DC=group,DC=net' |
Set-ADUser -Add @{OtherLoginWorkstations="$($_.samaccountname).serve.group.net"}