Powershell set-adcomputer问题集位置

时间:2016-02-18 11:13:42

标签: powershell

我已经制作了这个脚本来设置/更改特定OU中计算机的位置属性。

我的变量没问题,但是当我执行时,它不是逐行的。 我该怎么解决这个问题呢。

Import-module ActiveDirectory

$computers= Get-ADcomputer -Filter * -searchbase "OU=XX,OU=XXX,OU=WXXX,DC=TGE,DC=XX,DC=XX" | ForEach-Object {$_.Name}


Set-ADcomputer -identity "$computers" -Location "buildingA"

2 个答案:

答案 0 :(得分:0)

你的$Computers是一个[Array]对象,这意味着它有一组对象

Set-ADComputer命令无法一次处理所有数组,要处理其中的每个数组,您需要使用' Foreach'方法例如:

Foreach ($Computer in $Computers)
{
Set-ADcomputer -identity $computer -Location "buildingA"
}

另一种方法是在管道之后添加foreach,如下所示:

Get-ADcomputer -Filter * -searchbase "OU=XX,OU=XXX,OU=WXXX,DC=TGE,DC=XX,DC=XX" | ForEach-Object {Set-ADComputer -identity $_ -Location "buildingA"}

答案 1 :(得分:0)

尝试将Get-ADcomputer的输出汇总到Set-ADcomputer

Get-ADcomputer -Filter * -searchbase "OU=XX,OU=XXX,OU=WXXX,DC=TGE" | Set-ADcomputer -Location "buildingA"