Windows
如何使用 Powershell 在 10 個 Windows 2016 伺服器上遠端啟動 Windows 更新
我有 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-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
作為直接等效於 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
查看所有支持的功能。