网站首页/电脑学习列表/内容

PnPUtil (PnPUtil.exe) 是啥(PnPUtil命令语法)

电脑学习2024-03-30阅读

PnPUtil (PnPUtil.exe) 是什么?

PnPUtil (PnPUtil.exe) 是一种命令行工具,可让管理员对 驱动程序包执行操作。 示例包括:

1、将驱动程序包添加到 驱动程序存储区。

2、在计算机上安装驱动程序包。

3、从驱动程序存储区中删除驱动程序包。

4、禁用/启用对应的硬件设备……等操作。

枚举当前位于驱动程序存储区中的驱动程序包。 仅列出非内置包的驱动程序包。 内置驱动程序包是 Windows 或其 service pack 的默认安装中包含的程序包。

在哪里可以下载 PnPUtil?

PnPUtil 包含在 Windows 的每个版本中,从目录) Windows Vista (%windir%\system32 开始。 没有单独的 PnPUtil 下载包。

打开 " 命令提示符 " 窗口 (以管理员身份运行) 。键入 pnputil /? 以查看命令选项。 有关详细信息,请参阅 PnPUtil 命令语法 。

PnPUtil 命令语法

若要运行 PnPUtil,请打开命令提示符窗口 (以管理员身份运行) 并使用以下语法和参数键入命令。

  • PNPUTIL [/add-driver <...> | /delete-driver <...> |
  • /export-driver <...> | /enum-drivers |
  • /enum-devices [<...>] | /enum-interfaces [<...>] |
  • /disable-device <...> | /enable-device <...> |
  • /restart-device <...> | /remove-device <...> |
  • /scan-devices [<...>] | /enum-classes [<...>] |
  • /?]

/add-driver

将驱动程序包 () 添加到驱动程序存储中。 命令从 Windows 10 版本 1607 开始可用。

  • PNPUTIL /add-driver <filename.inf | *.inf> [/subdirs] [/install] [/reboot]

标记:

/subdirs - 遍历驱动程序包的子目录
/install - 在任何匹配的设备上安装/更新驱动程序
/reboot - 如果需要完成操作,请重新启动系统

/delete-driver

从驱动程序存储中删除驱动程序包。 命令从 Windows 10 版本 1607 开始可用。

  • PNPUTIL /delete-driver <oem#.inf> [/uninstall] [/force] [/reboot]

标记:

/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

禁用系统上的设备。 命令从版本 2004 Windows 10开始可用。

  • PNPUTIL /disable-device [<instance ID> | /deviceid <device ID>]
  •                         [/class <name | GUID>]
  •                         [/bus <name | GUID>]
  •                         [/reboot] [/force]

标记:

/reboot - 如果需要完成操作,请重新启动系统
从 Windows 11 版本 21H2 开始可用的标志:

/deviceid <device ID> - 禁用具有匹配设备 ID 的所有设备
从 Windows 11 版本 22H2 开始可用的标志:

/class <name | GUID> - 按设备类名称或 GUID 进行筛选
/bus <name | GUID> - 按总线枚举器名称或总线类型 GUID 进行筛选
/force - 即使设备提供关键系统功能,也禁用

/enable-device

启用系统上的设备。 命令从版本 2004 Windows 10开始可用。

  • PNPUTIL /enable-device [<instance ID> | /deviceid <device ID>]
  •                        [/class <name | GUID>] [/bus <name | GUID>]
  •                        [/reboot]

标记:

/reboot - 如果需要完成操作,请重新启动系统
从 Windows 11 版本 21H2 开始可用的标志:

/deviceid <device ID> - 启用具有匹配设备 ID 的所有设备
从 Windows 11 版本 22H2 开始可用的标志:

/class <name | GUID> - 按设备类名称或 GUID 进行筛选
/bus <name | GUID> - 按总线枚举器名称或总线类型 GUID 进行筛选

/restart-device

重启系统上的设备。 命令从版本 2004 Windows 10开始可用。

  • PNPUTIL /restart-device [<instance ID> | /deviceid <device ID>]
  •                         [/class <name | GUID>] [/bus <name | GUID>]
  •                         [/reboot]

标记:

/reboot - 如果需要完成操作,请重新启动系统
从 Windows 11 版本 21H2 开始可用的标志:

/deviceid <device ID> - 重启具有匹配设备 ID 的所有设备
从 Windows 11 版本 22H2 开始可用的标志:

/class <name | GUID> - 按设备类名称或 GUID 进行筛选
/bus <name | GUID> - 按总线枚举器名称或总线类型 GUID 进行筛选。

/remove-device

尝试从系统中删除设备。 命令从版本 2004 Windows 10开始可用。

  • PNPUTIL /remove-device [<instance ID> | /deviceid <device ID>]
  •                        [/class <name | GUID>] [/bus <name | GUID>]
  •                        [/subtree] [/reboot] [/force]

标记:

/subtree - 删除整个设备子树,包括任何子设备
/reboot - 如果需要完成操作,请重新启动系统
从 Windows 11 版本 21H2 开始可用的标志:

/deviceid <device ID> - 删除具有匹配设备 ID 的所有设备
从 Windows 11 版本 22H2 开始可用的标志:

/class <name | GUID> - 按设备类名称或 GUID 进行筛选
/bus <name | GUID> - 按总线枚举器名称或总线类型 GUID 进行筛选
/force - 即使设备提供关键系统功能,也会删除

/scan-devices

扫描系统以查找任何设备硬件更改。 命令从版本 2004 Windows 10开始可用。

  • /scan-devices [/instanceid <instance ID>] [/async]

标记:

/instanceid <instance ID> - 扫描设备子树以查找更改
/async - 异步扫描更改

/enum-devices

枚举系统上的所有设备。 命令从版本 1903 Windows 10开始可用。

  • 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]

标记:

/connected - 按连接的设备进行筛选
/disconnected - 按断开连接的设备进行筛选
/instanceid <instance ID> - 按设备实例 ID 进行筛选
/class <name | GUID> - 按设备类名称或 GUID 进行筛选
/problem [<code>] - 按有问题的设备进行筛选或按特定问题代码进行筛选
/relations - 显示父设备与子设备关系
/drivers - 显示匹配和已安装的驱动程序
从 Windows 11 版本 21H2 开始可用的标志:

/bus [<name | GUID>] - 显示总线枚举器名称和总线类型 GUID,或按总线枚举器名称或总线类型 GUID 进行筛选
/deviceids - 显示硬件和兼容的 ID
/services - 显示设备服务
/stack - 显示有效的设备堆栈信息
/interfaces - 显示设备接口
/properties - 显示所有设备属性
从 Windows 11 版本 22H2 开始可用的标志:

/deviceid <device ID> - 按设备硬件和兼容 ID 进行筛选
/resources - 显示设备资源

/enum-interfaces

枚举系统上的所有设备接口。 从 Windows 10 版本 1903 开始提供命令。

  • PNPUTIL /enum-interfaces [/enabled | /disabled] [/class <GUID>] [/properties]

标记:

/enabled - 按已启用的接口进行筛选
/disabled - 按禁用的接口进行筛选
/class <GUID> - 按接口类 GUID 进行筛选
从 Windows 11 版本 22H2 开始可用的标志:

/properties - 显示所有接口属性

/enum-classes

枚举系统上的所有设备类。 从 Windows 11 版本 22H2 开始提供命令。

  • PNPUTIL /enum-classes [/class <name | GUID>] [/services]

标记:

/class <name | GUID> - 按设备类名称或 GUID 进行筛选
/services - 显示设备类服务

/?

显示命令行语法。

  • PNPUTIL /?

旧版命令映射

以下命令仍受支持,但都是旧版命令。 建议改用最新的语法。

  •   -a [-i]  <filename.inf> ==> /add-driver <filename.inf> [/install]
  •  
  •   -d [-f]  <oem#.inf>     ==> /delete-driver <oem#.inf> [/force]
  •  
  •   -e                      ==> /enum-drivers
相关阅读