共用方式為


PnPUtil 命令語法

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

另請參閱

PnPUtil