使用 InstanceID 禁用/启用 PnP 设备的脚本 - 但 ID 在重新启动时会更改



我有一个工作脚本禁用4 usb操纵杆使用各自的InstanceID的

$pnpIds = 'HIDVID_0079&PID_00067&1699A0E&198&0000', 'HIDVID_0079&PID_00067&5438EB5&19D&0000', 'HIDVID_0079&PID_00067&390C5738&17D&0000','HIDVID_0079&PID_00067&2652A693&16C&0000'
foreach ($pnpId in $pnpids) {
Disable-PnpDevice -InstanceId $pnpId -Confirm:$false
}

它在执行时工作正常,问题是在重新启动ID的变化。只有3个字符在"&;&&;"字符(藏 VID_0079& PID_0006 7, 1699 a0e&1980000年,其余部分保持不变。无论如何,使用通配符为这3个字符?

如果没有,有没有办法写一个脚本,将获取当前的InstanceID的USB操纵杆,然后禁用/启用他们与我目前正在使用的脚本?我根本配不上你。

这是来自Super User的Capt. Whale的解决方案。谢谢!

$pnpIds = 
'HIDVID_0079&PID_00067&1699A0E&*&0000',
'HIDVID_0079&PID_00067&5438EB5&*&0000',
'HIDVID_0079&PID_00067&390C5738&*&0000',
'HIDVID_0079&PID_00067&2652A693&*&0000'
foreach ($pnpId in $pnpids) {
Get-PnpDevice -InstanceID $pnpId | 
Where Status -Like 'OK' |
Disable-PnpDevice -Confirm:$false
}

启用- Enable-PnPDevice

将-Where Status -Like 'OK'替换为-Where Status -Like 'Error'

设备状态将为"错误",因为它已断开连接。

链接到解决方案的原始线程-https://superuser.com/questions/1682707/script-to-disable-enable-pnp-device-using-instanceids-but-the-ids-change-upo

相关内容

  • 没有找到相关文章

最新更新