重启后使用任务计划程序启动 PowerShell 脚本
Using the task scheduler to start a PowerShell script after reboot
所以我正在尝试编写一个执行以下操作的 powershell 脚本:
- 下载并安装 Windows 更新(完成)
- 自动重启(完成)
- 重启后检查是否还有更新
- 返回开始,直到没有剩余的更新
我已经构建了如下的 powershell 脚本:
Import-Module PSWindowsUpdate
Get-Command –module PSWindowsUpdate
Add-WUServiceManager -ServiceID 7971f918-a847-4430-9279-4a52d1efe18d
Get-WUInstall –MicrosoftUpdate –AcceptAll –AutoReboot
效果完美。
但是,根据某些情况,重启后可能仍有可用更新可供下载和安装。
我想做的是在每次重新启动后保留 运行上面的脚本,直到没有更多更新可供下载和安装。
我发现 Task scheduler
in Windows 可能很方便。
我还构建了一个 'logic' 来检查是否还有任何更新(并安装它们):
$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. "
}
并且上面的代码也可以完美运行。
我的问题是在每次重新启动后,我可以用什么方式让这个脚本(或多个脚本?)运行直到没有更多更新...
谢谢
您已经在正确的轨道上了。只需将计划任务添加到您的系统中,以您的脚本作为参数运行 powershell.exe,并将任务触发器设置为 "At startup"
Boxstarter 比您滚动自己的脚本更容易管理。
然后你用这个命令保存一个脚本:
# Update Windows and reboot if necessary
Install-WindowsUpdate -AcceptEula
Boxstarter 还可以使用 Chocolatey 自动安装和设置大量其他软件。有关大量示例,请参阅 this link。
如果无法正常工作,或者如果您真的想滚动自己的更新脚本,则需要查看工作流程,这些工作流程可以在重新启动后从中断的地方恢复。查看这两个链接 (link1, link2) 以获取示例
所以我正在尝试编写一个执行以下操作的 powershell 脚本:
- 下载并安装 Windows 更新(完成)
- 自动重启(完成)
- 重启后检查是否还有更新
- 返回开始,直到没有剩余的更新
我已经构建了如下的 powershell 脚本:
Import-Module PSWindowsUpdate
Get-Command –module PSWindowsUpdate
Add-WUServiceManager -ServiceID 7971f918-a847-4430-9279-4a52d1efe18d
Get-WUInstall –MicrosoftUpdate –AcceptAll –AutoReboot
效果完美。
但是,根据某些情况,重启后可能仍有可用更新可供下载和安装。
我想做的是在每次重新启动后保留 运行上面的脚本,直到没有更多更新可供下载和安装。
我发现 Task scheduler
in Windows 可能很方便。
我还构建了一个 'logic' 来检查是否还有任何更新(并安装它们):
$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. "
}
并且上面的代码也可以完美运行。
我的问题是在每次重新启动后,我可以用什么方式让这个脚本(或多个脚本?)运行直到没有更多更新...
谢谢
您已经在正确的轨道上了。只需将计划任务添加到您的系统中,以您的脚本作为参数运行 powershell.exe,并将任务触发器设置为 "At startup"
Boxstarter 比您滚动自己的脚本更容易管理。
然后你用这个命令保存一个脚本:
# Update Windows and reboot if necessary
Install-WindowsUpdate -AcceptEula
Boxstarter 还可以使用 Chocolatey 自动安装和设置大量其他软件。有关大量示例,请参阅 this link。
如果无法正常工作,或者如果您真的想滚动自己的更新脚本,则需要查看工作流程,这些工作流程可以在重新启动后从中断的地方恢复。查看这两个链接 (link1, link2) 以获取示例