【发布时间】:2016-04-30 14:02:13
【问题描述】:
我正在使用 Win32_PnPEntity 类来获取计算机中的所有设备,但 Win32_PnPEntity 类没有列出隐藏的设备。 Windows 设备管理器中的隐藏设备状态为“当前,此硬件设备未连接到计算机。(代码 45)”,可以通过单击设备管理器中的菜单选项来显示:查看 > 显示隐藏设备(Windows 10) .
有谁知道如何获得隐藏设备?
【问题讨论】:
我正在使用 Win32_PnPEntity 类来获取计算机中的所有设备,但 Win32_PnPEntity 类没有列出隐藏的设备。 Windows 设备管理器中的隐藏设备状态为“当前,此硬件设备未连接到计算机。(代码 45)”,可以通过单击设备管理器中的菜单选项来显示:查看 > 显示隐藏设备(Windows 10) .
有谁知道如何获得隐藏设备?
【问题讨论】:
您可以使用以下命令:
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 端口已经断开(状态:未知)
【讨论】:
您可以使用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
【讨论】: