Win32_PnPEntity 没有获取隐藏设备

Posted

技术标签:

【中文标题】Win32_PnPEntity 没有获取隐藏设备【英文标题】:Win32_PnPEntity not getting hidden devices 【发布时间】:2016-04-30 14:02:13 【问题描述】:

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

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

【问题讨论】:

【参考方案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 端口已经断开(状态:未知)

【讨论】:

谢谢@bck,我需要那个答案,就像 5 年前一样! ? Nice Get-PnpDevice 列出了隐藏的设备。想知道他们在幕后是如何做到的。是否可以直接使用 WMI(如在 C# 中)来做同样的事情。到现在还想不通。【参考方案2】:

您可以使用ConfigManagerErrorCode。请参阅Win32_PnPEntity 和Win32_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

【讨论】:

嗨,阿米特。您放在这里的代码是返回禁用的设备而不是隐藏的设备。隐藏设备是之前已连接但当前未连接的设备。在 Windows 10(可能只有 Windows 10?)中,打开设备管理器并单击菜单查看 > 显示隐藏的设备。在网络适配器下,您将看到隐藏在存储卷之前和下方的 WAN 微型端口,您将看到隐藏的 (USB) 卷。 Try : $_.ConfigManagerErrorCode -eq 45 如果第一个不工作,你能得到下面提到的查询的输出。获取 WmiObject -Class Win32_PnpEntity |导出-CSV C:\.csv Win32_PnpEntity 只是不输出隐藏设备。这就是全部。

以上是关于Win32_PnPEntity 没有获取隐藏设备的主要内容,如果未能解决你的问题,请参考以下文章

获取串口映射的COM端口号

计算机设备监控

如何从 Win32 API 中的总线关系中获取设备实例路径

Powershell 检测设备管理器

Powershell 检测设备管理器

win10中hosts文件的神秘位置