Windows

如何使用 Powershell 在 10 個 Windows 2016 伺服器上遠端啟動 Windows 更新

  • November 13, 2020

我有 10 個加入域的 Windows 2016 伺服器。我需要在它們上執行 Windows 更新,我不想登錄到它們中的每一個,然後手動啟動 Windows 更新。

我發現你可以做到這一點;

Install-Module PSWindowsUpdate

但我不知道具體如何。

**** 更新; 感謝 duenni,這是我的最終解決方案。安裝 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-WUInstallInvoke-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

作為直接等效於 Invoke-WUInstall,您實際上可以使用 Invoke-Command 呼叫 Get-WUInstall。

  • 確保您擁有最新的PSWindowsUpdate
  • 將 PowerShell 的執行策略更改為 RemoteSigned。RSEP 允許 PowerShell 腳本,只要它們由受信任的發布者簽名。鍵入Set-ExecutionPolicy RemoteSigned並按 Enter。出現提示時確認。
  • 對於 PS 2.0 導入模組 PSWindowsUpdate(3.0 後不需要)

GetWUInstall支持許多好東西,但到目前為止最有用的是:

  • Get-WUInstall –MicrosoftUpdate –ListOnly–> 將列出來自 Microsoft Update 伺服器的可用更新
  • Get-WUInstall –MicrosoftUpdate–> 會詢問每次更新是否安裝(最近非常有用)
  • Get-WUInstall –MicrosoftUpdate –AcceptAll–> 自動接受所有
  • 添加 – AutoReboot–> 更新後也會重啟

支持更多的東西,比如隱藏、取消隱藏或安裝特定的 KB。您可以使用Help Get-WUInstall –full查看所有支持的功能。

引用自:https://serverfault.com/questions/963269