PowerShell - 检查安装的驱动程序是否是 Windows 更新目录中可用的最新版本

问题描述 投票:0回答:1

如何使用 PowerShell 检查 Windows 更新 (WU) 目录中可用的驱动程序版本是否比 Windows 设备上安装的版本新?我知道我可以从 Windows Update Agent API 获取一些信息,但似乎我无法查询 API 以获取可用的特定软件组件的版本。我知道在更新包中标题中有一个版本号,但我知道该数字与更新包有关,而不是包中的任何一个特定文件。

例如,如果我在设备上安装了 abc.inf v1.0,如何检查 abc.inf 是否有大于 1.0 的版本可用?我不一定需要/想要安装更新或文件,但如果需要我可以下载。

powershell driver
1个回答
0
投票

API 不会告诉您所有驱动程序的版本号(有些驱动程序的标题中包含该版本号),但它只会告诉您系统中的硬件可使用的较新驱动程序,以及这些驱动程序何时发布释放。您可以运行此命令来查找驱动程序更新:

$WUSess = new-object -ComObject Microsoft.Update.Session
$Searcher=$WUSess.CreateUpdateSearcher() 
$SearchResults = $Searcher.Search("IsInstalled=0 and Type='Driver'")

然后查看每个结果以“Driver”开头的各种属性。

PS C:\Users\TMTech> $SearchResults.Updates|FT Driver*

DriverClass   DriverHardwareID                      DriverManufacturer DriverModel                                         DriverProvider DriverVerDate         
-----------   ----------------                      ------------------ -----------                                         -------------- -------------         
OtherHardware usb\vid_045e&pid_0745                 Microsoft          Microsoft Mouse and Keyboard Detection Driver (USB) Microsoft      5/18/2011 12:00:00 AM 
OtherHardware pci\ven_8086&dev_8d3a                 Intel              Intel(R) Management Engine Interface                Intel          11/19/2017 12:00:00 AM
Video         pci\ven_10de&dev_107d&subsys_094e103c NVIDIA             NVIDIA NVS 310                                      NVIDIA         5/6/2019 12:00:00 AM  
© www.soinside.com 2019 - 2024. All rights reserved.