pin 命令 (winget)

wingetpin命令允许你限制将包升级到特定版本的Windows 程序包管理器,或者可以阻止它完全升级包。 固定包可能仍upgrade可自行升级,并从Windows 程序包管理器外部升级。

固定类型

WinGet 支持三种类型的包固定:

  • 固定:已从 winget upgrade --all 中排除包,但允许 winget upgrade <package>。 可以使用 --include-pinned 参数来允许 winget upgrade --all 包含固定的包。

  • 阻止:包被 winget upgrade --all 阻止, winget upgrade <package>或者必须取消固定包才能让 WinGet 执行 upgrade。 该 --force 选项可用于替代 pin该选项的行为。

  • 限制:已将包固定到特定版本或版本范围。 可以指定要将包固定到的确切版本,也可以使用通配符 * 作为最后一个版本部分来指定版本范围。 例如,如果已将包固定到版本 1.2.*,则 1.2.01.2.x 之间的任何版本都被视为有效。 该 --force 选项可用于替代 pin该选项的行为。

使用情况

winget pin <subcommand> <options>

选项

可以使用以下选项。

选项 说明
-?, --help 获取有关此命令的更多帮助。
--wait 提示用户在退出前按任意键。
--logs, --open-logs 打开默认日志位置。
--verbose, --verbose-logs 用于替代日志记录设置并创建详细日志。
--nowarn, --ignore-warnings 禁止警告输出。
--disable-interactivity 禁用交互式提示。
--proxy 设置要用于此执行的代理。
--no-proxy 禁用此执行使用代理。

子命令

pin 命令支持以下子命令。

子命令 说明
add 添加新的 pin。
remove 删除包 pin。
list 列出当前固定。
reset 重置固定

添加

add 命令添加新 pin的 。 此子命令要求指定到 pin的确切包。 如果存在任何歧义,系统会提示你进一步将子命令筛选 add 到确切的应用程序。

用法:

winget pin add [[-q] <query>] [<options>]

参数

论点 说明
-q, --query 用于搜索应用的查询。

选项

这些选项允许你根据需要自定义添加固定。

选项 说明
--id 将搜索限制为应用程序的 ID。
--name 将搜索限制为应用程序的名称。
--moniker 将搜索限制为针对应用程序列出的名字对象。
--tag 将搜索限制为针对应用程序列出的标记。
--cmd, --command 将搜索限制为应用程序的命令。
-e, --exact 在查询中使用确切的字符串,包括检查是否区分大小写。 它不会使用子字符串的默认行为。
-v, --version 使您能够为 pin 指定确切版本。 通配符 * 可用作最后一个版本部分。 将行为pin更改为 gating .
-s, --source 将搜索限制为所提供的源名称。 必须后跟源名称。
--header 可选 Windows-Package-Manager REST 源 HTTP 标头。
--authentication-mode 指定身份验证窗口首选项(无提示、无提示首选或交互)。
--authentication-account 指定用于身份验证的帐户。
--accept-source-agreements 用于接受源许可协议,并避免出现提示。
--force 直接运行命令并继续处理非安全相关问题。
--blocking 阻止在删除之前 pin 升级,从而阻止替代参数。 将行为pin更改为 blocking .
--installed 固定特定的已安装版本
-?, --help 获取有关此命令的更多帮助。
--wait 提示用户在退出前按任意键。
--logs, --open-logs 打开默认日志位置。
--verbose, --verbose-logs 用于替代日志记录设置并创建详细日志。
--nowarn, --ignore-warnings 禁止警告输出。
--disable-interactivity 禁用交互式提示。
--proxy 设置要用于此执行的代理。
--no-proxy 禁用此执行使用代理。

示例

以下示例为应用程序添加一个 pin 。 添加此项 pin 可防止在调用 winget upgrade --all时升级此包。 将 --include-pinned 参数与 winget upgrade --all 一起使用,以包含任何固定的包。

winget pin add powertoys

以下示例使用其 ID 为应用程序添加阻止 pin 。 添加阻止pin将阻止在调用或调用winget upgrade --allwinget upgrade <package>时阻止此包升级。 需要取消阻止包才能让 WinGet 执行 upgrade。

winget pin add --id Microsoft.PowerToys --blocking

以下示例使用其 ID 为应用程序添加一个 gating pin 。 添加 gating pin 将阻止 upgrade 升级包版本超出特定版本或封闭通配符范围。

winget pin add --id Microsoft.PowerToys --version 0.70.*

删除

remove 命令删除一个 pin. 此子命令要求指定要删除的确切包 pin 。 如果存在任何歧义,系统会提示你进一步将子命令筛选 remove 到确切的应用程序。

用法:

winget pin remove [[-q] <query>] [<options>]

参数

论点 说明
-q, --query 用于搜索应用的查询。

选项

这些选项允许你根据需要自定义删除固定。

选项 说明
--id 将搜索限制为应用程序的 ID。
--name 将搜索限制为应用程序的名称。
--moniker 将搜索限制为针对应用程序列出的名字对象。
-s, --source 将搜索限制为所提供的源名称。 必须后跟源名称。
--tag 将搜索限制为针对应用程序列出的标记。
--cmd, --command 将搜索限制为应用程序的命令。
-e, --exact 在查询中使用确切的字符串,包括检查是否区分大小写。 它不会使用子字符串的默认行为。
--header 可选 Windows-Package-Manager REST 源 HTTP 标头。
--authentication-mode 指定身份验证窗口首选项(无提示、无提示首选或交互)。
--authentication-account 指定用于身份验证的帐户。
--accept-source-agreements 用于接受源许可协议,并避免出现提示。
--installed 固定特定的已安装版本。
-?, --help 获取有关此命令的更多帮助。
--wait 提示用户在退出前按任意键。
--logs, --open-logs 打开默认日志位置。
--verbose, --verbose-logs 用于替代日志记录设置并创建详细日志。
--nowarn, --ignore-warnings 禁止警告输出。
--disable-interactivity 禁用交互式提示。
--proxy 设置要用于此执行的代理。
--no-proxy 禁用此执行使用代理。

示例

以下示例删除应用程序的一个 pin 。

winget pin remove powertoys

以下示例使用其 ID 删除应用程序的 A pin 。

winget pin remove --id Microsoft.PowerToys

列表

list 命令列出所有当前引脚。

用法:

winget pin list [[-q] <query>] [<options>]

参数

论点 说明
-q, --query 用于搜索应用的查询。

选项

这些选项允许你根据需要自定义列出固定。

选项 说明
--id 将搜索限制为应用程序的 ID。
--name 将搜索限制为应用程序的名称。
--moniker 将搜索限制为针对应用程序列出的名字对象。
-s, --source 将搜索限制为所提供的源名称。 必须后跟源名称。
--tag 将搜索限制为针对应用程序列出的标记。
--cmd, --command 将搜索限制为应用程序的命令。
-e, --exact 在查询中使用确切的字符串,包括检查是否区分大小写。 它不会使用子字符串的默认行为。
--header 可选 Windows-Package-Manager REST 源 HTTP 标头。
--authentication-mode 指定身份验证窗口首选项(无提示、无提示首选或交互)。
--authentication-account 指定用于身份验证的帐户。
--accept-source-agreements 用于接受源许可协议,并避免出现提示。
-?, --help 获取有关此命令的更多帮助。
--wait 提示用户在退出前按任意键。
--logs, --open-logs 打开默认日志位置。
--verbose, --verbose-logs 用于替代日志记录设置并创建详细日志。
--nowarn, --ignore-warnings 禁止警告输出。
--disable-interactivity 禁用交互式提示。
--proxy 设置要用于此执行的代理。
--no-proxy 禁用此执行使用代理。

示例

以下示例列出了所有当前固定。

winget pin list

以下示例列出了一个特定的包 pin。

winget pin list --id Microsoft.PowerToys

复位/重设/还原

reset 子命令用于重置所有固定。

使用不含 --force 参数的此子命令将显示要删除的固定。

若要重置所有固定,请包含 --force 参数。

用法:

winget pin reset [<options>]

选项

这些选项允许你自定义重置图钉以满足需求。

选项 说明
--force 直接运行命令并继续处理非安全相关问题。
-s, --source 将搜索限制为所提供的源名称。 必须后跟源名称。
-?, --help 获取有关此命令的更多帮助。
--wait 提示用户在退出前按任意键。
--logs, --open-logs 打开默认日志位置。
--verbose, --verbose-logs 用于替代日志记录设置并创建详细日志。
--nowarn, --ignore-warnings 禁止警告输出。
--disable-interactivity 禁用交互式提示。
--proxy 设置要用于此执行的代理。
--no-proxy 禁用此执行使用代理。

示例

以下示例显示了将重置的所有固定。

winget pin reset

以下示例重置了所有现有固定。

winget pin reset --force