devcon.exe无法禁用USB设备

devcon.exe无法禁用USB设备

我有一个连接到 Windows 10 平板电脑的 USB 条码扫描器。我需要通过在 Windows 上运行的 powershell 脚本来打开/关闭此条码扫描器。

阅读在线微软文档,似乎 devcon.exe 是可行的方法。

我安装了适当的(x64)Windows 工具包,并且能够使用 devcon.exe 来查找设备、删除设备、添加设备、获取其状态等。

当在我的特定设备上运行“devcon disable”时,devcon 说该设备不存在。

从 Windows 检查设备我能够读取供应商 ID (0x065A)

(我尝试了以下命令行政人员powershell 窗口)

PS C:\Users\Hs> & "C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe" status USB\VID_065A*
USB\VID_065A&PID_A001\6&7998A49&0&3
    Name: USB Input Device
    Driver is running.
1 matching device(s) found.

都好

PS C:\Users\Hs> & "C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe" enable USB\VID_065A*
USB\VID_065A&PID_A001\6&7998A49&0&3                         : Enabled
1 device(s) are enabled.

由于设备已经可以工作,所以用处不大,但至少它确认 devcon 可以看到我的设备

现在来看看有问题的部分

PS C:\Users\Hs> & "C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe" disable USB\VID_065A*
USB\VID_065A&PID_A001\6&7998A49&0&3                         : Disable failed
No matching devices found.

知道我做错了什么吗?

答案1

如果您想在没有 devcon 的 powershell 中执行此操作,则非常简单:

运行get-pnpdevice以获取设备列表。您在示例中使用的是实例名称,这将允许您使用友好名称。在下面的代码中,只需将“USB 输入设备”更改为条形码扫描仪的友好名称即可。脚本可以反转,将禁用更改为启用。

Get-PnpDevice | Where-Object { $_.FriendlyName -match 'USB Input Device' } | Disable-PnpDevice -Confirm:$false

相关内容