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 範例

另請參閱

PnPUtil