- PnPUtil 可讓您從控制台匯出、安裝和刪除驅動程式。
- 按類別、匯流排和 ID 進行過濾有助於設備稽核和診斷。
- 進階選項列表 驅動程序、介面、類別和設備樹。

如果你發現自己重新安裝 Windows 或在準備多台電腦時,您知道驅動程式問題可能非常令人頭痛。熟悉 PnPUtil 可以讓您 創建備份、安裝、卸載、審核甚至從命令列重新啟動設備。 命令 快速安全地 本機 Windows 工具.
在本完整指南中,您將找到使用 PnPUtil 的基本和進階資訊:從將所有系統驅動程式匯出到資料夾,到列出 有問題的設備、按類別或匯流排進行篩選,以及管理 OEM 控制器。所有內容均透過實際範例逐步講解,並 可複製和貼上的命令.
PnPUtil 是什麼以及它在哪裡?
PnPUtil (PnPUtil.exe) 是用於管理即插即用驅動程式和裝置的命令列公用程式。它包含在自 Vista 以來的所有 Windows 版本中,位於 %windir%\system32 (例如,C:\Windows\System32)。
要使用它,打開 命令提示 o PowerShell的 以管理員身份執行。常規語法顯示了現代 Windows 版本中可用的所有操作: 新增、刪除、匯出、列出、啟用、停用、重新啟動和移除.
PNPUTIL | /enum-devicetree |
/disable-device <...> | /enable-device <...> | /restart-device <...> |
/remove-device <...> | /scan-devices | /enum-classes |
/enum-interfaces | /enum-containers | /?]
快速提示:先運行幫助 PNPUTIL /? 確認你的 Windows 版本支援的選項,因為有些品牌推出了 Windows 10 1607、1903、2004 和其他 窗戶11 (21H2、22H2 和 23H2).
DriverStore 資料夾及其重要性
Windows 將驅動程式儲存在驅動程式儲存路徑中: C:\Windows\System32\DriverStore。正在使用的驅動程式與可能不需要且佔用空間的舊軟體包共存。
在清理任何內容之前,最好先列出並匯出你已有的內容。這樣,如果你稍後刪除了需要的軟體包,你就可以 毫無戲劇性地恢復 從你的備份。
使用 PnPUtil 導出驅動程式
匯出驅動程式副本是任何遷移或重新安裝的基礎。您可以將特定或所有 OEM(第三方)軟體包從軟體倉庫匯出到目標資料夾。在執行匯出軟體包的命令之前,請確保目標資料夾存在。 避免路線錯誤.
pnputil /export-driver oem6.inf .
pnputil /export-driver * C:\DriverBackup
選項 /導出驅動程式 它自 Windows 10 版本 1607 起可用。最好在外部磁碟機或網路上建立資料夾(例如,E:\Drivers)並使用星號啟動批次匯出。
如果您願意,也可以使用 PowerShell 執行此操作: 匯出 WindowsDriver -線上 -目標“C:\DestinationPath”。此替代方案提取在線系統中的驅動程序,並將其存放在標有 供應商結構清晰.
列出驅動程式包(OEM)
檢查驅動程式儲存區中安裝了什麼(或 查看所有已安裝的驅動程式),用途 /枚舉驅動程式如果需要深入研究,您可以按類別進行篩選或顯示每個包中的文件。
pnputil /enum-drivers
pnputil /enum-drivers /class 'System'
pnputil /enum-drivers /files
Windows 11 21H2 中引入了 Class 標記,並且選項 /文件 檢視關聯文件的功能是在 Windows 11 22H2 中引入的。這使得識別哪些軟體包是第三方軟體包變得更容易,並且 哪些值得清潔.
新增並安裝驅動程式
當您需要將驅動程式整合到倉庫中(並且,如果適用,請將它們安裝在 硬件 巧合)訴諸 /新增驅動程式。它適用於特定的 INF 和通配符模式。
pnputil /add-driver X:\driver.inf
pnputil /add-driver C:\OEM\*.inf
pnputil /add-driver device.inf /install
完整的語法支援有用的標籤,例如 /子目錄 遍歷子資料夾, /安裝 適用於匹配的設備和 /重啟 是否需要重新啟動才能完成操作。
PNPUTIL /add-driver <filename.inf | *.inf>
此命令自 Windows 10 1607 起可用。當您從儲存庫批次部署驅動程式時(例如,在每個型號有多個資料夾的 NAS 上), /子目錄 y /安裝 它們可以為您節省大量時間。
從倉庫中移除驅動程式
若要從 DriverStore 中刪除包,請使用 /刪除驅動程式。您可以從使用它的裝置上卸載它 /卸載 並強制刪除,即使它正在使用 / 力量 (極度謹慎)。
pnputil /delete-driver oem0.inf
pnputil /delete-driver oem1.inf /force
PNPUTIL /delete-driver <oem#.inf>
這些選項自 Windows 10 1607 起存在。在驅動程式被阻止的環境中可能需要強制重啟,但請記住 可能會影響穩定性 如果該設備至關重要。
管理設備:停用、啟用、重新啟動和刪除
PnPUtil 不僅可以處理軟體包,還可以直接在裝置上操作。從 Windows 10 2004 開始,您可以 deshabilitar, 使能, 重啟 o 戒菸者 依實例、ID、類別或匯流排進行硬體過濾。
停用裝置
依實例 ID、支援的硬體、類別或匯流排停用。篩選器組合在部署和診斷中非常有用。 有問題的設備.
pnputil /disable-device "USB\VID_045E&PID_00DB\6&870CE29&0&1"
pnputil /disable-device /deviceid "USB\Class_03"
pnputil /disable-device /class "USB" /bus "PCI"
PNPUTIL /disable-device
在 Windows 11 22H2 中,按類別和匯流排篩選器已推出,且品牌 / 力量 禁用設備,即使它們至關重要。請謹慎使用,因為 您可以讓基本服務處於非活動狀態.
啟用裝置
反向過程同樣簡單,並且支援相同的按類別和匯流排篩選(Windows 11 22H2)。按 ID 或按類別啟用可加快 偵錯 設備。
pnputil /enable-device "USB\VID_045E&PID_00DB\6&870CE29&0&1"
pnputil /enable-device /deviceid "USB\Class_03"
pnputil /enable-device /class "USB" /bus "PCI"
PNPUTIL /enable-device
重新啟動設備
更新驅動程式後非常有用。重新啟動特定設備、所有符合 ID 的設備,或按類別和匯流排進行篩選,從而保持對 維護動作 無需重新啟動整個系統。
pnputil /restart-device "USB\VID_045E&PID_00DB\6&870CE29&0&1"
pnputil /restart-device /deviceid "USB\Class_03"
pnputil /restart-device /class "USB" /bus "PCI"
PNPUTIL /restart-device
刪除設備
嘗試從系統中移除裝置。如果設備至關重要,您可以移除整個子樹(包括子節點),然後強制執行該操作,這在解決設備衝突時很有用。 持久硬體.
pnputil /remove-device "USB\VID_045E&PID_00DB\6&870CE29&0&1"
pnputil /remove-device /deviceid "USB\Class_03"
pnputil /remove-device /class "USB" /bus "PCI"
PNPUTIL /remove-device
該品牌 /子樹 和選用重新啟動自 Windows 10 2004 起可用;按類別/匯流排進行篩選,以及 / 力量 已在 Windows 11 22H2 中推出,擴充了 精細控制.
檢查硬件更改
同步或非同步掃描系統中的硬體變化。注意 需要管理員權限 運行此命令。
pnputil /scan-devices
/scan-devices
如果您提供 /實例ID,分析將僅限於該設備子樹。使用 /異步 在後台運行,很有用 並發工作環境.
列出設備並檢測問題
命令 /枚舉設備 它提供了詳細的清單。您可以按連接/斷開連接、類別、問題、匯流排進行篩選,並顯示關係、服務、堆疊、驅動程式、介面、屬性或資源。
pnputil /enum-devices
pnputil /enum-devices /connected
pnputil /enum-devices /instanceid "ROOT\SYSTEM\0000"
pnputil /enum-devices /class "Display"
pnputil /enum-devices /problem 28
pnputil /enum-devices /problem /deviceids
pnputil /enum-devices /deviceid "USB\Class_03"
pnputil /enum-devices /bus "PCI"
完整的語法展示了一系列過濾器和豐富的輸出。對於系統審計和文件記錄非常有用。 法醫和可重複.
PNPUTIL /enum-devices ] ]
這些標誌是分階段引入的:自 Windows 10 1903 起為連線/類別/問題; /司機 2004 年;在 Windows 11 21H2/22H2 中,匯流排、裝置 ID、服務、堆疊、介面、屬性和資源 360度視野.
設備樹:層次視圖
自 Windows 11 23H2 起, /枚舉設備樹 允許您從特定根列出裝置樹並新增詳細層,例如服務、堆疊、驅動程式或介面。
pnputil /enum-devicetree
pnputil /enum-devicetree "ROOT\SYSTEM\0000"
pnputil /enum-devicetree ROOT\SYSTEM\0000 /drivers
pnputil /enum-devicetree /connected /interfaces
pnputil /enum-devicetree /stack /interfaces /drivers /services
過濾器 /已連接, /服務, /堆, /司機 e /接口 它們有助於對硬體和軟體拓撲進行更直觀的診斷 無需離開 終端.
列出介面、類別和容器
若要按 GUID 查看裝置介面(啟用或停用),請使用 /枚舉介面. 自 Windows 11 22H2 以來,該品牌 /特性 顯示其所有屬性。
pnputil /enum-interfaces /enabled
pnputil /enum-interfaces /class "{884b96c3-56ef-11d1-bc8c-00a0c91405dd}"
PNPUTIL /enum-interfaces
如果您需要查看設備類別, /枚舉類 列出所有,並可依名稱或 GUID 進行篩選。品牌 /服務 新增課程服務 關聯依賴關係.
pnputil /enum-classes
pnputil /enum-classes /class "Display"
PNPUTIL /enum-classes
最後, /枚舉容器 (Windows 11 23H2)與裝置容器搭配使用:按 ID、狀態(已連線/已中斷連線)、問題進行過濾,並允許您列出裝置並匯出為不同的格式。
pnputil /enum-containers
pnputil /enum-containers /containerid "{00000000-0000-0000-ffff-ffffffffffff}"
pnputil /enum-containers /connected /devices
pnputil /enum-containers /disconnected /devices /format xml /output-file disconnecteddevices.xml
PNPUTIL /enum-containers ]
出口 TXT、XML 或 CSV 允許您將庫存與外部工具、報告或自動化腳本集成,而無需額外的努力。
映射舊命令
如果您使用的是舊版本,歷史快捷鍵仍然受支援。雖然它們仍然有效,但 Microsoft 建議使用當前的現代語法。 清晰度和相容性.
-a <filename.inf> ==> /add-driver <filename.inf>
-d <oem#.inf> ==> /delete-driver <oem#.inf>
-e ==> /enum-drivers
將腳本移轉到新語法將避免未來版本的 Windows 中出現意外情況,並將保持 更強大的自動化基礎.
複製和恢復的實際範例
讓我們從基礎開始:建立備份。打開一個特權終端,然後導航到您想要儲存驅動程式的位置。建議使用一個簡單的路徑,例如: E:\驅動程式 在 USB 上。
E:
mkdir Drivers
cd Drivers
pnputil /export-driver * ./
系統會將所有包匯出到目前資料夾。此方法在 格式 或在相同型號的電腦上複製驅動程序, 最大限度地減少重新安裝時間.
CON EL 備用 完成後,有兩種恢復方法。一種是手動:打開 設備管理器,右鍵單擊硬件,“更新驅動程式”,然後“瀏覽我的電腦以查找驅動程式軟體”。選擇備份資料夾,然後讓 Windows 檢測適當的 INF.
另一個是使用 PnPUtil 自動化安裝。如果您儲存了按資料夾組織的驅動程序,則可以使用通配符和子目錄一次安裝所有驅動程序,從而大大加快安裝速度。 重複部署.
pnputil /add-driver 'E:\Drivers\*.inf' /subdirs /install /reboot
請記住在運行命令之前保存您的工作 /重啟。如果任何驅動程式安裝需要,電腦將重新啟動以 正確完成流程.
更多實用的現成範例
若要僅列出已啟用的介面(在停用敏感內容之前很有用),您可以執行此命令,然後根據需要按類別套用篩選器,從而保留 環境的可見性.
pnputil /enum-interfaces /enabled
若要快速查看裝置問題(例如,代碼 28,未安裝驅動程式),請結合 /問題 具有硬體和相容的ID輸出並準確定位 缺少什麼以及在哪裡.
pnputil /enum-devices /problem /deviceids
如果你只想探索連接的硬件,請限制自己 /已連接 (非常有用 手提 (使用額外的底座或外圍設備)來集中診斷 什麼是活躍的.
pnputil /enum-devices /connected
對於包含所有核心內容(有效堆疊、服務、控制器和介面)的層次視圖,啟動包含所有細節層的樹,非常適合 進階事件解決方案.
pnputil /enum-devicetree /stack /interfaces /drivers /services
良好做法和重要說明
- 盡可能在提升的控制台中執行 PnPUtil。一些操作(例如 /掃描設備) 需要管理員權限,並且 將會默默失敗 沒有他們。
- 在刪除軟體包之前 /刪除驅動程式匯出您的副本並驗證哪些裝置使用它。這樣可以避免由於過多的 清潔熱情.
- 如果您要在另一台電腦上還原驅動程序,請嘗試使用相同型號和類似的 Windows 版本。更改版本/架構可能會導致某些 INF 檔案不適用。 平台不相容.
- 不要依賴第三方實用程式進行基本備份:使用 PnPUtil 和 Export-WindowsDriver,您可以獲得乾淨、無廣告軟體且可自我控制的解決方案,從而提高效能。 安全和控制.
- 記錄你的指令:許多品牌的版本正在陸續推出(Windows 10 1607/1903/2004;Windows 11 21H2/22H2/23H2)。保留內部備忘單可以節省你的管理時間。 異質公園.
掌握 PnPUtil 可讓您對驅動程式和裝置進行細粒度控制,而無需任何外部依賴:匯出整個商店、按類別和匯流排進行審核、從資料夾中進行批次安裝 /子目錄,刪除過時的軟體包,並詳細診斷硬體樹。透過幾個熟悉的命令,驅動程式維護從麻煩變成了 快速、安全且可重複的任務.
對字節世界和一般技術充滿熱情的作家。我喜歡透過寫作分享我的知識,這就是我在這個部落格中要做的,向您展示有關小工具、軟體、硬體、技術趨勢等的所有最有趣的事情。我的目標是幫助您以簡單有趣的方式暢遊數位世界。