质量gpupdate /力与电源壳

时间:2016-08-03 23:01:07

标签: powershell powershell-v3.0 gpo

这就是我在做的事情:

$cn = Get-ADComputer -filt *
$cred = Get-Credential domain\user
$session = New-PSSession -cn $cn.name -cred $cred
icm -Session $session -ScriptBlock {gpupdate /force}

问题是我真的不需要更新所有PC。我有一个包含90个虚拟机的池,其名称为example-1到example-90。我如何仅定位名称中包含示例的人?

2 个答案:

答案 0 :(得分:1)

$cn = Get-ADComputer -Filter "name -like 'example*'"

答案 1 :(得分:0)

我认为这不会起作用。要在Get-ADComputer上使用过滤器参数,您需要{},除非您使用的是-filter *,否则您不需要$cn = Get-ADComputer -Filter {DistinguishedName -like 'example*'}

此外,AD属性不是名称,而是DistinguishedName

这应该有用......

$cn = Get-ADComputer -Filter {DistinguishedName -like 'example*'}
$cred = Get-Credential domain\user

ForEach ($item in $cn) {
  $session = New-PSSession -cn $item.name -cred $cred
  Invoke-Command -Session $session -ScriptBlock {
    gpupdate /force
  }
}

此外,您将需要枚举返回的计算机,因为将返回多个对象。这就是您的解决方案应该是这样的:

{{1}}