有没有办法使用Powershell或脚本从包含特定字符串的设备管理器中删除所有设备



我正在寻找一种方法,从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

相关内容

最新更新