2

这是在 Windows XP pro 系统上(是的,我知道旧操作系统)我一直在寻找一种方法来获取所有未安装驱动程序的设备的列表,或者正在使用的驱动程序存在问题。

我试过了

  $foo = Get-WmiObject Win32_PNPEntity | Where-Object{$_.ConfigManagerErrorcode -ne 0}

问题在于,它似乎并没有得到所有的例外。
例如,具有指纹扫描仪的 HP 笔记本电脑在设备管理器中显示为其他设备 - USB 设备。使用我列出的一个衬垫没有检测到这一点。

有没有办法使用 powershell 获取一系列缺少的驱动程序?

4

2 回答 2

3
#For formatting:
    $result = @{Expression = {$_.Name}; Label = "Device Name"},
              @{Expression = {$_.ConfigManagerErrorCode} ; Label = "Status Code" }

#Checks for devices whose ConfigManagerErrorCode value is greater than 0, i.e has a problem device.
Get-WmiObject -Class Win32_PnpEntity -ComputerName localhost -Namespace Root\CIMV2 | Where-Object {$_.ConfigManagerErrorCode -gt 0 } | Format-Table $result -AutoSize

Windows 设备管理器中的错误代码:- https://support.microsoft.com/en-us/kb/310123 Win32_PNP 实体类:https://msdn.microsoft.com/en-us/library/aa394353(v=vs .85).aspx

于 2015-05-25T13:09:48.657 回答
2

当我有一些设备没有被我的脚本拾取时,我这样做了,试一试,看看它是否检测到你的设备。

$foo = Get-WmiObject Win32_PNPEntity | Where-Object{$_.Availability -eq 11 -or $_.Availability -eq 12}
于 2012-07-10T10:20:02.207 回答