Win32_PnPEntity未获取隐藏设备

时间:2016-04-30 14:02:14

标签: windows wmi

我正在使用Win32_PnPEntity类来获取计算机中的所有设备,但Win32_PnPEntity类没有列出隐藏的设备。 Windows设备管理器中的隐藏设备状态为“当前,此硬件设备未连接到计算机。(代码45)”,可以通过单击设备管理器中的菜单选项来显示:查看>显示隐藏的设备(Windows 10)。

有谁知道如何获取隐藏的设备?

2 个答案:

答案 0 :(得分:1)

您可以使用以下命令进行操作:

Get-PnpDevice -class "Ports"

Status     Class           FriendlyName
------     -----           ------------                                                                         
OK         Ports           Communications Port (COM1)                                                           
Unknown    Ports           Silicon Labs Dual CP2105 USB to UART Bridge: Enhanced  
Unknown    Ports           Arduino Uno (COM5)                                                               
Unknown    Ports           Silicon Labs Dual CP2105 USB to UART Bridge: Standard 
OK         Ports           Prolific USB-to-Serial Comm Port (COM6)                                          

在这里您可以看到我的COM端口已断开连接(状态:未知)

答案 1 :(得分:0)

您可以使用ConfigManagerErrorCode。请参阅Win32_PnPEntityWin32_PnPEntity MSDN。你没有提到你是使用PowerShell还是C#来编写脚本,我假设是PowerShell。

$result = @{Expression = {$_.Name}; Label = "Device Name"},
          @{Expression = {$_.ConfigManagerErrorCode} ; Label = "Status Code" }

    Get-WmiObject -Class Win32_PnpEntity -ComputerName localhost -Namespace Root\CIMV2 | Where-Object {$_.ConfigManagerErrorCode -gt 0 } | Format-Table $result