Привет, я новичок в PowerShell и нашел один из полезных скриптов Эда Уилсона в его блоге: http://blogs.technet.com/b/heyscriptingguy/archive/2012/11/12/force-a-обновлениегрупповойполитикидоменаспомощью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, потому что я могу успешно запустить командлет Restart-Computer без Start-Sleep. Проблема в том, что он не ждет завершения gpupdate, поэтому политика не активируется. Я не получаю никаких ошибок при запуске скрипта, он просто зависает. Я оставил его работать около 10 минут без успеха.
Я ценю любую помощь или предложения, чтобы этот скрипт работал правильно. Спасибо заранее за любые данные.