Automation

使用 Devcon 刪除不存在的硬體?

  • April 2, 2021

我正在使用 Windows XP SP3 自動從機器上刪除 USB 列印機。為此,我使用了 Microsoft 的Devcon Utility。

執行命令:

devcon findall *hp*

回報:

USBPRINT\HEWLETT-PACKARDHP_LASERJET_PROFESSIONAL_P1606DN\7&8885729&0&USB001: HP
LaserJet Professional P1606dn
1 matching device(s) found.

執行命令:

devcon remove *USBPRINT*

回報:

No devices removed.

我嘗試了硬體 ID 和萬用字元的多種組合,但沒有成功。將設備插入電腦並執行上述刪除命令會刪除硬體。

問題來自我使用 devcon piped 來查找以確定設備是否已插入以便可以自動配置。如果我無法刪除它,即使它沒有插入,我的腳本也會檢測到它。

我已經用多台 USB 列印機和一個 USB 滑鼠對此進行了測試,它們都表現出相同的行為,這讓我相信這是 Devcon 的正常行為。

有解決方法嗎?如何刪除不再連接的硬體條目?

Devcon 確實有效。您只需要確保針對您的作業系統使用正確版本的 devcon。

看看這個連結http://freneticrapport.blogspot.com/2011/05/windows-hiddennot-connected-device.html

為您的作業系統安裝正確的 devcon 版本:

  • 安裝 Windows 驅動程序工具包
  • 轉到開始 -> 程序 -> 開發工具包 -> WDK XXXX -> 建構環境 -> Windows$$ Target $$-> 窗戶$$ Target $$免費建構環境,替換$$ Target $$使用您正在建構的適當版本的 Windows。
  • 轉到 WDK 安裝目錄中的 src\setup\devcon 文件夾並執行: build -ceZ

然後,您可以使用以下命令刪除設備:

devcon remove "@PCI\VEN_1000&DEV_0060&SUBSYS_1F0C1028&REV_04\4&10333E29&0&0030"

請注意引號和@符號,因為它們是移除隱藏設備所必需的。

引用自:https://serverfault.com/questions/354277