如何获取-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。请注意,出于安全原因,该标签是隐藏的。

device info as shown in control panel

是你们谁知道的方式来解决?我将不胜感激您的帮助。

+1

抢WMI浏览器,可能你指出正确的方向,现在你有端口(USB串行),你需要的是连接到它的设备,我认为它来自Win32_PnPDevice。这应该指出你的第三个因素。像Win32_printer,如果它的打印机。如果它只是您正在处理的Com端口,则可以删除Win32_PNPEntity并使用Win32_SerialPort,这应该为您提供有关每个PnPDevice以及从那里到实际设备结束Win32_元素的信息。 – Bob007

+0

Bob007我一直在尝试他们。没有积极的影响。如果我要求Win32_PnPDevice的整个列表,没有什么可以帮助我,或者我不知道它可以。无论如何,该列表包括路径,我可以找到类似'\ root \\ cimv2:Win32_PnPEntity.DeviceID = ...',但在输出上没有我的设备ID,它开始像\ root \ cimv2:Win32_PnPEntity.DeviceID = “FTDIBUS'。如果来到Win32_SerialPort,它会列出我的串行端口,除了那些分配给未指定设备的端口。 – Rob

+0

'Win32_USBControllerDevice'给我带来了我的设备ID,但没有其他东西我可能会感兴趣的 – Rob

我现在没有任何关于直接连接的打印机的信息来确认,但您寻找的属性应该是标题或描述。您可以通过将其管道输入Get-Member或仅输入Format-List来查看对象上可用的所有属性,以查看所有内容的评估结果。可用的那类属性的更多信息,请here

+0

如果我使用Get-WMIObject Win32_PnPEntity |其中{$ _。Name-like“USB Serial Port *”}' – Rob

+0

是的,将结果传给'get-member',你会看到可用的属性,如果你使用'Format-List',你可以看到什么他们评估并选择与你需要的匹配的那一个。 –

+0

感谢Mike。标题等于描述:'USB Serial Port(COM15)'。如果我要求整个列表,那么模型(标签)我什么也没有寻找。 – Rob