尝试使用PowerShell

时间:2018-02-28 23:05:57

标签: powershell active-directory

我正在尝试使用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(这是他们计算机的名称)。

非常感谢任何帮助。

2 个答案:

答案 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"}