devcon.exe 無法停用 USB 設備

devcon.exe 無法停用 USB 設備

我有一個連接到 Windows 10 平板電腦的 USB 條碼掃描器。我需要從 Windows 上執行的 powershell 腳本開啟/關閉此條碼掃描器)。

在線閱讀微軟文檔,似乎 devcon.exe 是正確的選擇。

我安裝了適當的(x64)Windows 套件包,並且我能夠使用 devcon.exe 查找裝置、刪除裝置、新增裝置、取得其狀態等。

當在我的特定設備上運行“devcon禁用”時,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

相關內容