我正在寻找一种方法,从Windows中的设备管理器中删除实例ID中包含特定字符串的所有设备。我应该能够使用计算机上已有的工具来完成这项工作。
我有一个麦克风,作为音频,USB和HID设备连接到电脑上。实例ID始终包含VID_0911,如下所示:
USBVID_0911&PID_1F40&MI_006&42c3796&0&0000
USBVID_0911&PID_1F40&MI_016&42c3796&0&0001
HIDVID_0911&PID_1F40&MI_019&3439e3e8&0&0000
USBVID_0911&PID_0C1D&MI_058&2075f95b&0&0005
HIDVID_0911&PID_0C1D&MI_037&d0dd64c&0&0000
它也可以通过设备名称找到:SpeechMike III
我想要一个删除这些设备的脚本,无论是否连接。
我尝试过这个脚本从powershell卸载设备:
get-wmiobject -Query "select * from win32_systemdriver where caption=`"SpeechMikeIII`"" |
ForEach { $_.StopService()
$_.Delete()
}
它运行时没有出现错误,但设备仍然存在。
Pnputil.exe应该已经在您的路径中。以管理员身份运行。
$device=Get-PnpDevice -FriendlyName "SpeechMike III"
&"pnputil" /remove-device $device.InstanceId
这对我有效。
get-pnpdevice -friendlyname 'bluetooth device (personal area network)' |
disable-pnpdevice -confirm:$false