PnPUtil 命令語法
PnPUtil (PnPUtil.exe) 包含在 %windir%\system32 目錄中,從 Windows Vista 開始的每個 Windows 版本。
若要執行 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 [<...>] |
/?]
命令
/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>
- 停用所有具有相符裝置標識碼的裝置
從 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>
- 啟用所有具有相符裝置識別碼的裝置
從 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>
- 重新啟動所有具有相符裝置標識碼的裝置
從 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>
- 移除所有具有相符裝置標識碼的裝置
從 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
- 顯示硬體和相容的識別碼/services
- 顯示裝置服務/stack
- 顯示有效的裝置堆疊資訊/interfaces
- 顯示裝置介面/properties
- 顯示所有裝置屬性
從 Windows 11 22H2 版開始可用的旗標:
/deviceid <device ID>
- 依裝置硬體和相容標識碼進行篩選/resources
- 顯示裝置資源
/enum-devicetree
列舉裝置樹狀結構。
從 Windows 11 23H2 版開始可用的命令。
/enum-devicetree [root device instance ID] [/connected] [/services]
[/stack] [/drivers] [/interfaces]
root device instance 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>
- 依容器標識碼進行篩選。
/connected | /disconnected
- 依連線的裝置容器進行篩選,或依已中斷連線的裝置容器進行篩選
/problem
- 依裝置容器篩選問題
/devices
- 顯示容器裝置
/format
- 將輸出格式化為文字、XML 或 CSV
/output-file [<filename>]
- 將輸出寫入選擇性檔名
/?
顯示命令行語法。
PNPUTIL /?
舊版命令對應
仍支援下列命令,但舊版。 建議您改用最新的語法。
-a [-i] <filename.inf> ==> /add-driver <filename.inf> [/install]
-d [-f] <oem#.inf> ==> /delete-driver <oem#.inf> [/force]
-e ==> /enum-drivers
範例
如需如何使用 PnPUtil 工具的範例,請參閱 PnPUtil 範例。