嘿,我对 PowerShell 很陌生,并在他的博客上找到了 Ed Wilson 的有用脚本之一:http: //blogs.technet.com/b/heyscriptingguy/archive/2012/11/12/force-a-domain-wide-update -of-group-policy-with-powershell.aspx。
我需要根据自己的需要对其进行一些定制,并且只需要一些帮助来获取正确的代码。
我将只使用他的代码,因为我所做的只是用我的凭据和 AD 信息替换它:
$cn = Get-ADComputer -filt *
$cred = Get-Credential iammred\administrator
$session = New-PSSession -cn $cn.name -cred $cred
icm -Session $session -ScriptBlock {gpupdate /force}
我添加的是接下来的两行尝试暂停脚本以允许 gpupdate 处理然后重新启动计算机:
Start-Sleep -s 120
Restart-Computer -ComputerName $cn.name
当我一起运行脚本时,它似乎只是在我输入凭据后挂起。我的猜测是它不喜欢我呈现 Start-Sleep cmdlet 的方式,因为我可以在没有 Start-Sleep 的情况下成功运行 Restart-Computer cmdlet。问题是它不会等待 gpupdate 完成,因此不会推送策略。运行脚本时我没有收到任何错误,它只是挂起。我让它运行了大约 10 分钟,但没有成功。
我感谢任何帮助或建议以使此脚本正常工作。提前感谢您的任何意见。