【发布时间】:2012-03-29 15:27:20
【问题描述】:
我正在尝试在通过 Get-ADComputer 选择的多台计算机上调用 Get-WMIObject (gwmi) 作为后台作业。
我的第一次尝试是
$job = Get-ADComputer -filter "name -like '*t90*'" | % { gwmi -computername $_.name -query "select name,username from win32_computersystem" -asjob -throttlelimit 10 }
但是,由于我为每个返回的计算机对象调用一次 gwmi,因此创建了数百个后台作业,我不相信它们会集体注意 ThrottleLimit。
我这样做对吗?
我知道 gwmi 也可以接受一个数组作为计算机名属性,如下所示:
$job = gwmi -computername "computer1","computer2","computer3" -query "select * from win32_computersystem" -asjob -throttlelimit 10
这样做会导致单个作业而不是数百个作业,因为 gwmi 只被调用一次。这是我应该这样做的方式吗?如果是这样,如何将 Get-ADComputer 的输出作为数组提供给 gwmi?
谢谢!
【问题讨论】:
标签: powershell