在Windows 10中,如果我转到控制面板->设备和打印机,第一行将显示“设备”。在我的情况下,这些设备包括“ USB游戏板”,“ 2.4G鼠标”等
如何使用Powershell查询此设备列表?我想检查PC上是否连接了名为“ USB Gamepad”的设备。
到目前为止,我已经按照以下步骤通过设备管理器路线进行了操作,但是无法获取我需要的信息:
$devs = Get-PnPDevice -Class HIDClass | where { $_.HardwareID.Contains("HID_DEVICE_SYSTEM_GAME") }
foreach ($d in $devs){
echo $d.FriendlyName
echo $d.DeviceID
echo $d.HardwareID
echo $d.Name
echo $d.Class
echo ""
echo ""
}
似乎我可以对注册表{@ {1}}中的信息进行某些操作
答案 0 :(得分:0)
这个...
Get-PnPDevice -Class HIDClass |
where { $_.HardwareID.Contains("HID_DEVICE_SYSTEM_GAME") }
...如果语法上不正确,应该是这个...
...
where { $PSItem.HardwareID -Contains ...}
比较运算符没有点符号。
我会将该行重构为此...
Clear-Host
Get-PnPDevice -Class HIDClass |
ForEach {
$PSItem |
Where-Object {$PSItem.HardwareID -match 'HID_DEVICE'} |
Select-Object -Property FriendlyName, DeviceID, HardwareID, Name, Class
"`n`n"
}
# Results
<#
...
FriendlyName : HID-compliant consumer control device
DeviceID : HID\VID_17A0&PID_0305&MI_03\B&345E789C&0&0000
HardwareID : {HID\VID_17A0&PID_0305&REV_0207&MI_03, HID\VID_17A0&PID_0305&MI_03, HID\VID_17A0&UP:000C_U:0001, HID_DEVICE_SYSTEM_CONSUMER,
HID_DEVICE_UP:000C_U:0001, HID_DEVICE}
Name : HID-compliant consumer control device
Class : HIDClass
...
#>