希望对一组远程计算机运行Invoke-GPUPdate -force
,并以“否”响应注销提示。
尝试:
Echo "n" | invoke-gpupdate
错误:Invoke-gpupdate不接受管道输入
使用的命令:
Invoke-GPUpdate -Computer $computer -RandomDelayInMinutes 0 -force
答案 0 :(得分:1)
不幸的是,此cmdlet似乎启动/安排了一次gpupdate的运行,该运行最终单独发生(进程外),因此,通过PowerShell的标准方式来处理类似的事情没有什么要做,因为提示没有不是来自PowerShell。有一个-LogOff
参数,但它是一个switch参数,表示它的值仅用于执行注销。您可以这样尝试:-Logoff:$false
,但很可能无法摆脱提示。
我认为您最好的机会不是使用此cmdlet,而是直接将Invoke-Command
与gpupdate.exe
一起使用:
Invoke-Command -ComputerName $computer -ScriptBlock {
echo nn | gpupdate.exe /force
}
但这需要在要管理的计算机上启用PowerShell远程处理。