在 Windows 设备管理器中,可以“手动”启动设备的自动更新。但这非常繁琐,必须单击每个设备(因为不知道该特定设备是否有可用更新)- 然后单击弹出窗口 - 并且必须等待在线搜索完成。
所以我希望有一些 Powershell 脚本能够做到这一点,或者也许有一个注册表项可以让“Windows Update”来处理这个问题。
(嗯,是的,Windows 不会自动更新设备管理器中的所有设备)。
答案1
文章 直接从 Microsoft Catalog 安装或更新驱动程序的脚本 包含用于执行所要求操作的 PowerShell 脚本。
本文对脚本的每个部分都进行了很好的解释。下面我仅重现了简单的脚本,只做了一些小改动(我还没有测试过):
#search and list all missing Drivers
$Session = New-Object -ComObject Microsoft.Update.Session
$Searcher = $Session.CreateUpdateSearcher()
$Searcher.ServiceID = '7971f918-a847-4430-9279-4a52d1efe18d'
$Searcher.SearchScope = 1 # MachineOnly
$Searcher.ServerSelection = 3 # Third Party
$Criteria = "IsInstalled=0 and Type='Driver' and ISHidden=0"
Write-Host('Searching Driver-Updates...') -Fore Green
$SearchResult = $Searcher.Search($Criteria)
$Updates = $SearchResult.Updates
#Show available Drivers
$Updates | select Title, DriverModel, DriverVerDate, Driverclass, DriverManufacturer | fl
#Download the Drivers from Microsoft
$UpdatesToDownload = New-Object -Com Microsoft.Update.UpdateColl
$updates | % { $UpdatesToDownload.Add($_) | out-null }
Write-Host('Downloading Drivers...') -Fore Green
$UpdateSession = New-Object -Com Microsoft.Update.Session
$Downloader = $UpdateSession.CreateUpdateDownloader()
$Downloader.Updates = $UpdatesToDownload
$Downloader.Download()
#Check if the Drivers are all downloaded and trigger the Installation
$UpdatesToInstall = New-Object -Com Microsoft.Update.UpdateColl
$updates | % { if($_.IsDownloaded) { $UpdatesToInstall.Add($_) | out-null } }
Write-Host('Installing Drivers...') -Fore Green
$Installer = $UpdateSession.CreateUpdateInstaller()
$Installer.Updates = $UpdatesToInstall
$InstallationResult = $Installer.Install()
if($InstallationResult.RebootRequired) {
Write-Host('Reboot required! please reboot now..') -Fore Red
} else { Write-Host('Done..') -Fore Green }
一个通用且功能强大的软件包是 更新程序。
以下是一些有关安装和使用它的教程:
该软件包添加了Get-WUInstall
命令(和其他命令),您可以使用它们获取和安装更新。 的源代码Get-WUInstall
也可以单独获取
来自 github。
文章中还提供了另一个使用示例 PS 脚本可自动执行 Windows 和 MS 更新。
答案2
一个应用程序Windows 更新迷你工具存在可以获取这些驱动程序的程序,但它能做更多的事情——关于 Windows 更新。
(我个人还是更喜欢 harrymc 的脚本,它很简单 - 只需启动即可完成)
摘自英文论坛:
An alternative to the standard Windows Update
What you can do:
- Check for updates
- Download updates
- Installing Updates
- Deleting installed updates
- Hiding unwanted updates
- Get direct links to the *.cab / *.Exe / *.Psf update files
- View update history
- Configure Automatic Updates
答案3
另一个更新工具,与“Windows Update MiniTool”非常相似:
https://github.com/DavidXanatos/wumgr