所以我想寫一個PowerShell腳本,做以下操作:使用任務計劃程序重新啓動後,開始PowerShell腳本
- 下載&安裝Windows更新(完成)
- 自動重新引導(已完成)在重新啓動後
- 檢查是否還有任何更新
- 去回至開始直到有沒有更多的更新左
我已經構建了我的PowerShell腳本如下:
Import-Module PSWindowsUpdate
Get-Command –module PSWindowsUpdate
Add-WUServiceManager -ServiceID 7971f918-a847-4430-9279-4a52d1efe18d
Get-WUInstall –MicrosoftUpdate –AcceptAll –AutoReboot
其中一期工程完美。
但是,根據某些情況,重新啓動後仍有可用的更新可以下載和安裝。
我想要做的是在每次重新啓動後繼續運行上面的腳本,直到沒有更多的更新需要下載安裝的&。
我發現的是在Windows中的Task scheduler
可能很方便。
我也已經構建是一個「邏輯」,以檢查是否有留下任何更新(並安裝):
$Output = (Get-WUInstall -MicrosoftUpdate -ListOnly) | Out-String
if($Output.Contains("Update"))
{
Write-Host "Updates Available, they will be installed..."
Get-WUInstall –MicrosoftUpdate –AcceptAll –AutoReboot
}else
{
Write-Host "There are no updates available. "
}
和上面的一塊代碼也完美的作品。
我的問題是用什麼方式告知我可以讓這個腳本(或多個腳本?)運行每次開機後,直到沒有剩下更多的更新......
感謝
非常感謝TToni,但我在想,這是不是說我的腳本在每次重新啓動後都會繼續運行(即使沒有更多的更新了?) 。或者你是否將此視爲「長期使用的腳本」? –
您可以向腳本添加邏輯,以便在沒有更多安裝更新時通過使用此cmdlet刪除計劃任務:'Unregister-ScheduledTask' (請參閱:https://blogs.technet.microsoft.com/heyscriptingguy/2015/01/16/powertip-use-powershell-to-delete-scheduled-task /) –
謝謝馬克!我會毫不猶豫地進行檢查 –