PnPUtil (PnPUtil.exe) 包含在從 Windows Vista 開始的每個 Windows 版本中,位於 %windir%\system32 目錄中。
若要執行 PnPUtil,請開啟命令提示字元視窗 (以系統管理員身分執行) ,然後使用下列語法和參數輸入命令。
PNPUTIL [/add-driver <...> | /delete-driver <...> |
/export-driver <...> | /enum-drivers |
/enum-devices [<...>] | /enum-devicetree [<...>] |
/disable-device <...> | /enable-device <...> |
/restart-device <...> | /remove-device <...> |
/scan-devices [<...>] | /enum-classes [<...>] |
/enum-interfaces [<...>] | /enum-containers [<...>] |
/?]
Commands
/add-driver
將驅動程式套件 () 新增至驅動程式存放區。 從 Windows 10 版本 1607 開始提供命令。
PNPUTIL /add-driver <filename.inf | *.inf> [/subdirs] [/install] [/reboot]
從 Windows 10 版本 1607 開始可用的旗標:
-
/subdirs- 遍歷驅動程式套件的子目錄 -
/install- 在任何匹配的設備上安裝/更新驅動程序 -
/reboot- 如果需要,請重新啟動系統以完成操作
備註
如果驅動程式不是系統上排名最高的驅動程式,PnPUtil 不會將它強制到裝置上。
若要檢查相符的驅動程式及其排名,請從提升許可權的命令提示字元執行下列命令: pnputil /enum-devices /instanceid <devgen device instance ID ROOT\DEVGEN{...}> /drivers。
/delete-driver
從驅動程式存放區刪除驅動程式套件。 從 Windows 10 版本 1607 開始提供命令。
PNPUTIL /delete-driver <oem#.inf> [/uninstall] [/force] [/reboot]
從 Windows 10 版本 1607 開始可用的旗標:
-
/uninstall- 從使用它的任何設備中卸載驅動程序包 -
/force- 刪除驅動程序包,即使它正在被設備使用 -
/reboot- 如果需要,請重新啟動系統以完成操作
/export-driver
將驅動程式套件 () 從驅動程式存放區匯出至目標目錄。 從 Windows 10 版本 1607 開始提供命令。
PNPUTIL /export-driver <oem#.inf | *> <target directory>
/enum-drivers
列舉驅動程式存放區中的所有第三方驅動程式套件。 從 Windows 10 版本 1607 開始提供命令。
PNPUTIL /enum-drivers [/class <name | GUID>] [/files]
從 Windows 11 版本 21H2 開始可用的旗標:
-
/class <name | GUID>- 依驅動程式類別名稱或 GUID 篩選
從 Windows 11 版本 22H2 開始可用的旗標:
-
/files- 列舉所有驅動程式套件檔案
/disable-device
停用系統上的裝置。 從 Windows 10 版本 2004 開始提供命令。
PNPUTIL /disable-device [<instance ID> | /deviceid <device ID>]
[/class <name | GUID>]
[/bus <name | GUID>]
[/reboot] [/force]
從 Windows 10 2004 版開始可用的旗標:
-
/reboot- 如果需要,請重新啟動系統以完成操作
從 Windows 11 版本 21H2 開始可用的旗標:
-
/deviceid <device ID>- 停用所有具有相符裝置 ID 的裝置
從 Windows 11 版本 22H2 開始可用的旗標:
-
/class <name | GUID>- 依裝置類別名稱或 GUID 篩選 -
/bus <name | GUID>- 依匯流排列舉值名稱或匯流排類型 GUID 篩選 -
/force- 即使裝置提供關鍵系統功能,也會停用
/enable-device
啟用系統上的裝置。 從 Windows 10 版本 2004 開始提供命令。
PNPUTIL /enable-device [<instance ID> | /deviceid <device ID>]
[/class <name | GUID>] [/bus <name | GUID>]
[/reboot]
從 Windows 10 2004 版開始可用的旗標:
-
/reboot- 如果需要,請重新啟動系統以完成操作
從 Windows 11 版本 21H2 開始可用的旗標:
-
/deviceid <device ID>- 啟用具有相符裝置 ID 的所有裝置
從 Windows 11 版本 22H2 開始可用的旗標:
-
/class <name | GUID>- 依裝置類別名稱或 GUID 篩選 -
/bus <name | GUID>- 依匯流排列舉值名稱或匯流排類型 GUID 篩選
/restart-device
重新啟動系統上的裝置。 從 Windows 10 版本 2004 開始提供命令。
PNPUTIL /restart-device [<instance ID> | /deviceid <device ID>]
[/class <name | GUID>] [/bus <name | GUID>]
[/reboot]
從 Windows 10 2004 版開始可用的旗標:
-
/reboot- 如果需要,請重新啟動系統以完成操作
從 Windows 11 版本 21H2 開始可用的旗標:
-
/deviceid <device ID>- 重新啟動所有具有相符裝置 ID 的裝置
從 Windows 11 版本 22H2 開始可用的旗標:
-
/class <name | GUID>- 依裝置類別名稱或 GUID 篩選 -
/bus <name | GUID>- 依匯流排列舉值名稱或匯流排類型 GUID 篩選。
/remove-device
嘗試從系統中移除裝置。 從 Windows 10 版本 2004 開始提供命令。
PNPUTIL /remove-device [<instance ID> | /deviceid <device ID>]
[/class <name | GUID>] [/bus <name | GUID>]
[/subtree] [/reboot] [/force]
從 Windows 10 2004 版開始可用的旗標:
-
/subtree- 移除整個裝置子樹狀結構,包括任何子裝置 -
/reboot- 如果需要,請重新啟動系統以完成操作
從 Windows 11 版本 21H2 開始可用的旗標:
-
/deviceid <device ID>- 移除所有具有相符裝置 ID 的裝置
從 Windows 11 版本 22H2 開始可用的旗標:
-
/class <name | GUID>- 依裝置類別名稱或 GUID 篩選 -
/bus <name | GUID>- 依匯流排列舉值名稱或匯流排類型 GUID 篩選 -
/force- 即使裝置提供關鍵系統功能,也會移除
/scan-devices
掃描系統是否有任何裝置硬體變更。 從 Windows 10 版本 2004 開始提供命令。
/scan-devices [/instanceid <instance ID>] [/async]
從 Windows 10 2004 版開始可用的旗標:
-
/instanceid <instance ID>- 掃描裝置子樹狀結構以取得變更 -
/async- 非同步掃描變更
/enum-devices
列舉系統上的所有裝置。 從 Windows 10 版本 1903 開始提供命令。
PNPUTIL /enum-devices [/connected | /disconnected]
[/instanceid <instance ID> | /deviceid <device ID>]
[/class <name | GUID>] [/problem [<code>]]
[/bus [<name | GUID>]] [/deviceids] [/relations]
[/services] [/stack] [/drivers] [/interfaces]
[/properties] [/resources]
從 Windows 10 版本 1903 開始可用的旗標:
-
/connected- 按連接的設備過濾 -
/disconnected- 按斷開連接的設備過濾 -
/instanceid <instance ID>- 依裝置執行個體識別碼篩選 -
/class <name | GUID>- 依裝置類別名稱或 GUID 篩選 -
/problem [<code>]- 按有問題的設備過濾或按特定問題代碼過濾 -
/relations- 顯示父系和子系裝置關係
從 Windows 10 2004 版開始可用的旗標:
-
/drivers- 顯示匹配和安裝的驅動程序
從 Windows 11 版本 21H2 開始可用的旗標:
-
/bus [<name | GUID>]- 顯示匯流排列舉值名稱和匯流排類型 GUID,或依匯流排列舉值名稱或匯流排類型 GUID 篩選 -
/deviceids- 顯示硬體和相容的 ID -
/services- 顯示設備服務 -
/stack- 顯示有效的裝置堆疊資訊 -
/interfaces- 顯示裝置介面 -
/properties- 顯示所有裝置屬性
從 Windows 11 版本 22H2 開始可用的旗標:
-
/deviceid <device ID>- 按設備硬件和兼容 ID 過濾 -
/resources- 顯示裝置資源
/enum-devicetree
列舉裝置樹狀結構。
從 Windows 11 版本 23H2 開始提供命令。
/enum-devicetree [root device instance ID] [/connected] [/services]
[/stack] [/drivers] [/interfaces]
root device instance ID - 顯示從指定的根裝置實例 ID 開始的裝置樹狀結構。
Flags
-
/connected- 按連接的設備過濾 -
/services- 顯示設備服務 -
/stack- 顯示有效的裝置堆疊資訊 -
/drivers- 顯示匹配和安裝的驅動程序 -
/interfaces- 顯示裝置介面
/enum-interfaces
列舉系統上的所有裝置介面。
從 Windows 10 版本 1903 開始提供命令。
PNPUTIL /enum-interfaces [/enabled | /disabled] [/class <GUID>] [/properties]
從 Windows 10 版本 1903 開始可用的旗標:
-
/enabled- 按已啟用的接口過濾 -
/disabled- 按禁用接口過濾 -
/class <GUID>- 依介面類別 GUID 篩選
從 Windows 11 版本 22H2 開始可用的旗標:
-
/properties- 顯示所有介面屬性
/enum-classes
列舉系統上的所有裝置類別。
從 Windows 11 版本 22H2 開始提供命令。
PNPUTIL /enum-classes [/class <name | GUID>] [/services]
從 Windows 11 版本 22H2 開始可用的旗標:
-
/class <name | GUID>- 依裝置類別名稱或 GUID 篩選 -
/services- 顯示裝置類別服務
/enum-containers
列舉系統上的所有裝置容器。
從 Windows 11 版本 23H2 開始提供命令。
PNPUTIL /enum-containers [/containerid <container id>] [/connected | /disconnected]
[/problem] [/devices] [/format <txt | xml | csv>]
[/output-file [<filename>]]
Flags
/containerid <container id> - 依容器 ID 篩選。
/connected | /disconnected - 依已連線的裝置容器篩選或依已中斷連線的裝置容器篩選
/problem - 按有問題的裝置容器過濾
/devices - 顯示容器裝置
/format - 將輸出格式化為文字、XML 或 CSV
/output-file [<filename>] - 將輸出寫入可選檔案名稱
/?
顯示命令列語法。
PNPUTIL /?
舊版命令對應
下列命令仍受支援,但已舊版。 建議您改用 up-to-date 語法。
-a [-i] <filename.inf> ==> /add-driver <filename.inf> [/install]
-d [-f] <oem#.inf> ==> /delete-driver <oem#.inf> [/force]
-e ==> /enum-drivers
範例
如需如何使用 PnPUtil 工具的範例,請參閱 PnPUtil 範例。