4

我曾经使用以下命令获取连接的 USB 设备的设备信息

gwmi Win32_USBControllerDevice |%{[wmi]($_.Dependent)} |
 Sort Manufacturer,Description,DeviceID |
 Ft -GroupBy Manufacturer DeviceID

如何使用 Windows Powershell 获取设备的连接端口号和集线器号?

4

1 回答 1

2

您需要使用 WMI 列出 USB 设备 ID,然后在注册表中查找每个设备以获取位置信息(如果存在)...

  $devices = gwmi Win32_USBControllerDevice |%{[wmi]($_.Dependent)}|select DeviceID
$devices.DeviceID | %{Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Enum\$_"}|
 select Mfg,DeviceDesc,HardwareID,LocationInformation,Class

在我的机器上产生这样的信息:

Mfg                 : @msmouse.inf,%msmfg%;Microsoft
DeviceDesc          : @msmouse.inf,%hid.mousedevice%;HID-compliant mouse
HardwareID          : {HID\VID_15CA&PID_00C3&REV_0512, HID\VID_15CA&PID_00C3, 
                      HID_DEVICE_SYSTEM_MOUSE, HID_DEVICE_UP:0001_U:0002...}
LocationInformation : 
Class               : Mouse


Mfg                 : @usb.inf,%generic.mfg%;(Standard USB Host Controller)
DeviceDesc          : @usb.inf,%usb\composite.devicedesc%;USB Composite Device
HardwareID          : {USB\VID_0408&PID_2FB1&REV_0901, USB\VID_0408&PID_2FB1}
LocationInformation : Port_#0004.Hub_#0003
Class               : USB
于 2013-09-08T23:10:33.287 回答