在 Windows 10 家庭版中,Windows 更新的选项有限。我想阻止它启动,而是让用户在准备好时启动它。原因是它启动太频繁,耗时太长,而且会耗尽电池电量,用户不满意。
我可以禁用 Windows 更新服务并设置提醒,让用户启动脚本以重新启用并启动它。但是我如何知道 Windows 更新何时完成,以便我可以再次禁用该服务?
这个问题没有帮助...
答案1
也许,您可以使用任务计划程序安排 PowerShell 脚本来每周三检查 Windows 更新客户端历史记录。
我编写了一个快速脚本,用于检查过去一天内应用的所有更新是否成功。
$Session = New-Object -ComObject "Microsoft.Update.Session"
$Searcher = $Session.CreateUpdateSearcher()
$yesterday = (Get-Date).Addmonths(-5)
$historyCount = $Searcher.GetTotalHistoryCount()
$Searcher = $Searcher.QueryHistory(0, $historyCount) | Where-object {$_.Date -gt $yesterday} |Select-Object Title, Date,
@{name="Result"; expression={switch($_.ResultCode){
0{"NotStarted"}; 1 {"InProgress"}; 2 {"Succeeded"}; 3 {"SucceededWithErrors"}; 4 {"Failed"}; 5{"Aborted"}
}}}
if ($Searcher -eq $null){
Write-Host "Updates not found."
break
}
#Checks for whether all updates installed correctly.
if ($Searcher.Result -eq "Succeeded"){
Write-Host "Everything installed."
#Stops windows service
Stop-Service -Name wuauserv -Force
Get-service -Name wuauserv
}
elseif ($Searcher.Result -eq "InProgress"){
Write-Host "Updates are still been applied."
}
else {
Write-Host "Updates are in error status"
$Searcher
}
笔记:
感谢 Microsoft TechNet 论坛的 Kurt Hudson 和 Peter Gleelen 发表此帖如何列出计算机中应用的所有 Windows 和软件更新。
答案2
我建议你使用名为Windows 更新迷你工具它允许搜索更新并选择您想要安装的更新,并允许阻止更新,就像在以前的 Windows 版本中一样。
标准 Windows 更新的替代方案您可以执行以下操作:
•检查更新
• 下载更新
• 安装更新
• 删除已安装的更新
• 隐藏不需要的更新
• 获取 *.cab / *.Exe / *.Psf 更新文件的直接链接 • 查看更新历史记录
• 配置自动更新
• 此工具类似于外部 powershell 模块 PSWindowsUpdate,但功能更加先进且用户友好
• 该工具依赖并使用相同的 WU 基础架构,所有下载均通过 WU 进行,它不是下载器
答案3
如果您使用来自的模块 PSWindowsUpdatePS画廊您可以在每次修补程序运行后检查可用的更新,直到没有更多更新......
Install-Module PSWindowsUpdate
while (Get-WUList) {
Install-WindowsUpdate -AcceptAll -AutoReboot
}
现在,您当然需要在每次重启后启动此功能,直到没有更多补丁。