disable/enable 使用 InstanceID 的 PnP 设备的脚本 - 但 ID 在重新启动时发生变化
Script to disable/enable PnP Device using InstanceID's - but the ID's change upon reboot
我有一个工作脚本可以使用各自的 InstanceID 禁用 4 个 USB 游戏杆
$pnpIds = 'HID\VID_0079&PID_0006&1699A0E&198&0000', 'HID\VID_0079&PID_0006&5438EB5&19D&0000', 'HID\VID_0079&PID_0006&390C5738&17D&0000','HID\VID_0079&PID_0006&2652A693&16C&0000'
foreach ($pnpId in $pnpids) {
Disable-PnpDevice -InstanceId $pnpId -Confirm:$false
}
执行时工作正常,问题是重启后 ID 发生变化.. 最后在“&”字符之间只有 3 个字符发生变化 (HID\VID_0079&PID_0006&1699A0E&198&0000
其余的保持不变。无论如何要为这 3 个字符使用通配符?
如果没有,是否有办法编写一个脚本来获取 USB 游戏杆的当前 InstanceID,然后 disable/enable 使用我当前使用的脚本获取它们?离我太远了..
这是来自 Super User 的 Capt. Whale 的解决方案。谢谢!
$pnpIds =
'HID\VID_0079&PID_0006&1699A0E&*&0000',
'HID\VID_0079&PID_0006&5438EB5&*&0000',
'HID\VID_0079&PID_0006&390C5738&*&0000',
'HID\VID_0079&PID_0006&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'
设备的状态将是 'error',因为它已断开连接。
Link 到解决方案的原始线程 -
https://superuser.com/questions/1682707/script-to-disable-enable-pnp-device-using-instanceids-but-the-ids-change-upo
我有一个工作脚本可以使用各自的 InstanceID 禁用 4 个 USB 游戏杆
$pnpIds = 'HID\VID_0079&PID_0006&1699A0E&198&0000', 'HID\VID_0079&PID_0006&5438EB5&19D&0000', 'HID\VID_0079&PID_0006&390C5738&17D&0000','HID\VID_0079&PID_0006&2652A693&16C&0000'
foreach ($pnpId in $pnpids) {
Disable-PnpDevice -InstanceId $pnpId -Confirm:$false
}
执行时工作正常,问题是重启后 ID 发生变化.. 最后在“&”字符之间只有 3 个字符发生变化 (HID\VID_0079&PID_0006&1699A0E&198&0000 其余的保持不变。无论如何要为这 3 个字符使用通配符?
如果没有,是否有办法编写一个脚本来获取 USB 游戏杆的当前 InstanceID,然后 disable/enable 使用我当前使用的脚本获取它们?离我太远了..
这是来自 Super User 的 Capt. Whale 的解决方案。谢谢!
$pnpIds =
'HID\VID_0079&PID_0006&1699A0E&*&0000',
'HID\VID_0079&PID_0006&5438EB5&*&0000',
'HID\VID_0079&PID_0006&390C5738&*&0000',
'HID\VID_0079&PID_0006&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'
设备的状态将是 'error',因为它已断开连接。
Link 到解决方案的原始线程 - https://superuser.com/questions/1682707/script-to-disable-enable-pnp-device-using-instanceids-but-the-ids-change-upo