У меня 10 серверов, подключенных к домену Windows 2016. Мне нужно запустить на них обновления Windows, я не хочу входить в каждое из них, а затем вручную запускать обновления Windows.
Я обнаружил, что вы можете сделать это с помощью;
Install-Module PSWindowsUpdate
Но не знаю как именно.
**** Обновить; Благодаря Дуэнни, это было моим окончательным решением. Установите модули PSWindowsUpdate, а затем;
Set-Item WSMan:\localhost\Client\TrustedHosts –Value * -Force
$Script = {import-module PSWindowsUpdate; Get-WindowsUpdate -AcceptAll -Install -Verbose -AutoReboot | Out-File C:\PSWindowsUpdate.log}
Invoke-WUjob -ComputerName s10,s11,s12,s13,s14,s15,s16,s17,s18,s19,s20 -Script $Script -Confirm:$false -RunNow
В качестве прямого эквивалента Invoke-WUInstall вы можете вызвать Get-WUInstall с помощью Invoke-Command.
Убедитесь, что у вас установлена последняя версия PSWindowsUpdate.
Измените политику выполнения PowerShell на RemoteSigned. RSEP разрешает сценарии PowerShell, если они подписаны доверенным издателем. Тип Set-ExecutionPolicy RemoteSigned
и нажмите Enter. Подтвердите при появлении запроса.
Для модуля импорта PS 2.0 PSWindowsUpdate (не требуется после версии 3.0)
GetWUInstall
поддерживает много хороших вещей, но, безусловно, наиболее полезными являются:
Get-WUInstall –MicrosoftUpdate –ListOnly
-> отобразит список доступных обновлений с серверов Центра обновления Майкрософт
Get-WUInstall –MicrosoftUpdate
-> будет запрашивать каждое обновление, устанавливать или нет (очень полезно в последнее время)
Get-WUInstall –MicrosoftUpdate –AcceptAll
-> автоматически принимать все
добавление -AutoReboot
-> также перезагрузится после обновления
Поддерживаются многие другие вещи, такие как скрытие, отображение или установка определенных КБ. Ты можешь использовать Help Get-WUInstall –full
чтобы увидеть все поддерживаемые функции.
Согласно Примечания к выпуску (нажмите "Сведения о пакете") команду Invoke-WUInstall
был заменен на Invoke-WUJob
в версии 2.0.0.
Пытаться
$Script = {import-module PSWindowsUpdate; Get-WindowsUpdate -AcceptAll -Install | Out-File C:\PSWindowsUpdate.log}
Invoke-WUjob -ComputerName $computer -Script $Script -Confirm:$false -RunNow