所以我正在尝试编写一个执行以下操作的PowerShell脚本:
我已经构建了我的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. "
}
上面的部分代码也完美无瑕。
我的问题是告诉我在每次重启后能以什么方式让这个脚本(或多个脚本?)运行,直到没有更多的更新...
由于
答案 0 :(得分:1)
你已经走上正轨了。只需将一个计划任务添加到运行powershell.exe的系统中,并将脚本作为参数,并将任务触发器设置为"在启动时#34;
答案 1 :(得分:1)
Boxstarter可以比滚动自己的脚本更轻松地管理它。
然后使用此命令保存脚本:
# Update Windows and reboot if necessary
Install-WindowsUpdate -AcceptEula
Boxstarter还可以使用Chocolatey自动安装和设置其他软件的负载。有关示例,请参阅this link。
如果无法正常工作,或者您真的想要推出自己的更新脚本,则需要查看工作流程,这些工作流程可以在重新启动后从中断处继续。请查看这两个链接(link1,link2)以获取示例