如何获取-WMIObject Win32_PnPEntity |其中{$ _名状 “USB串行端口*”}不特定设备
问题描述:
的模型(标签)使用PowerShell请问以下几点:
Get-WMIObject Win32_PnPEntity | where {$_.Name -like "USB Serial Port*"} |
Format-Table Name, Description, Manufacturer
输出给我带来了:
Name : USB Serial Port (COM15) Description : USB Serial Port Manufacturer : FTDI Name : USB Serial Port (COM10) Description : USB Serial Port Manufacturer : FTDI
所以我得到了两个括号内不同的结果。我正在寻找的是获取COMxx,但是通过(控制面板 - 设备和打印机 - 未指定 - 项目属性)中显示的型号(标签)来准确获得我需要的,意味着设备的COM号码。例如,请参阅ScreeShot。请注意,出于安全原因,该标签是隐藏的。
是你们谁知道的方式来解决?我将不胜感激您的帮助。
答
我现在没有任何关于直接连接的打印机的信息来确认,但您寻找的属性应该是标题或描述。您可以通过将其管道输入Get-Member
或仅输入Format-List
来查看对象上可用的所有属性,以查看所有内容的评估结果。可用的那类属性的更多信息,请here
抢WMI浏览器,可能你指出正确的方向,现在你有端口(USB串行),你需要的是连接到它的设备,我认为它来自Win32_PnPDevice。这应该指出你的第三个因素。像Win32_printer,如果它的打印机。如果它只是您正在处理的Com端口,则可以删除Win32_PNPEntity并使用Win32_SerialPort,这应该为您提供有关每个PnPDevice以及从那里到实际设备结束Win32_元素的信息。 – Bob007
Bob007我一直在尝试他们。没有积极的影响。如果我要求Win32_PnPDevice的整个列表,没有什么可以帮助我,或者我不知道它可以。无论如何,该列表包括路径,我可以找到类似'\ root \\ cimv2:Win32_PnPEntity.DeviceID = ...',但在输出上没有我的设备ID,它开始像\ root \ cimv2:Win32_PnPEntity.DeviceID = “FTDIBUS'。如果来到Win32_SerialPort,它会列出我的串行端口,除了那些分配给未指定设备的端口。 – Rob
'Win32_USBControllerDevice'给我带来了我的设备ID,但没有其他东西我可能会感兴趣的 – Rob