共用方式為


show 命令 (winget)

winget pin 命令可讓您限制 Windows 封裝管理員將封裝升級至特定範圍的版本,或是可以防止封裝一次完成所有升級。 釘選的封裝可能仍會自行升級,以及從 Windows 封裝管理員外部升級。

釘選類型

WinGet 支援三種類型的封裝釘選:

  • 釘選 (Pinning):將封裝從 winget upgrade --all 排除,但允許 winget upgrade <package>。 您可以使用 --include-pinned 引數來讓 winget upgrade --all 包含釘選的封裝。

  • 封鎖 (Blocking):禁止對封裝執行 winget upgrade --allwinget upgrade <package>,您必須將封裝取消釘選,才能讓 WinGet 執行升級。 --force 選項可用來覆寫釘選的行為。

  • 限制 (Gating):封裝會釘選到特定版本或版本範圍。 您可以指定您想要將封裝釘選到其中的確切版本,或是利用萬用字元 * 作為版本的最後部分來指定版本範圍。 例如,如果封裝要釘選至版本 1.2.*,則 1.2.01.2.x 之間的任何版本都會被視為有效版本。 --force 選項可用來覆寫釘選的行為。

使用方式

winget pin <subcommand> <options>

選項。

可用選項如下。

選項 描述
-?, --help 取得此命令的其他說明。
--wait 提示使用者在結束之前按任何鍵。
--logs,--open-logs 開啟預設記錄位置。
--verbose, --verbose-logs 用於覆寫記錄設定,並建立詳細資訊記錄。
--nowarn,--ignore-warnings 隱藏警告輸出。
--disable-interactivity 停用互動式提示。
--proxy 設定此執行所要使用的 Proxy。
--no-proxy 停用此執行的 Proxy。

子命令

pin 命令支援下列子命令。

子命令 描述
add 新增釘選。
remove 移除封裝釘選。
清單 列出目前的釘選。
reset 重設釘選

add

add 子命令可新增釘選。 此子命令會要求您指定要釘選的確切封裝。 如果有任何不明確的情況,系統會提示您進一步將 add 子命令篩選到確切的應用程式。

Usage :

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

引數

Argument 描述
-q,--query 用來搜尋應用程式的查詢。

選項。

這些選項可讓您自訂新增釘選的方式,以符合您的需求。

選項 描述
--id 將搜尋限制為應用程式的識別碼。
--name 將搜尋限制為應用程式的名稱。
--moniker 將搜尋限制為針對應用程式列出的別名。
--tag 將搜尋限制為針對應用程式所列出的標籤。
--cmd、--command 將搜尋限制為應用程式的命令。
-e, --exact 在查詢中使用確切字串,包括檢查是否區分大小寫。 其不會使用子字串的預設行為。
-v, --version 讓您指定要釘選的確切版本。 萬用字元 * 可用來作為版本的最後部分。 將釘選行為變更為 gating
-s, --source 將搜尋限制為提供的來源名稱。 後面必須加上來源名稱。
--header 選用性的 Windows-Package-Manager REST 來源 HTTP 標頭。
--authentication-mode 指定驗證視窗喜好設定 (silent、silentPreferred 或 interactive)。
--authentication-account 指定要用於驗證的帳戶。
--accept-source-agreements 用於接受來源授權合約且避免提示。
--force 直接執行命令,並繼續處理非安全性相關問題。
--blocking 阻止升級,直到移除釘選為止,同時避免使用覆寫引數。 將釘選行為變更為 blocking
--installed 釘選特定的已安裝版本
-?, --help 取得此命令的其他說明。
--wait 提示使用者在結束之前按任何鍵。
--logs、--open-logs 開啟預設記錄位置。
--verbose, --verbose-logs 用於覆寫記錄設定,並建立詳細資訊記錄。
--nowarn,--ignore-warnings 隱藏警告輸出。
--disable-interactivity 停用互動式提示。
--proxy 設定此執行所要使用的 Proxy。
--no-proxy 停用此執行的 Proxy。

範例

下列範例會為應用程式新增釘選。 新增此釘選可防止在呼叫 winget upgrade --all 時升級此封裝。 使用 --include-pinned 引數搭配 winget upgrade --all 來包含任何已釘選的封裝。

winget pin add powertoys

下列範例會使用應用程式的識別碼來為應用程式新增封鎖釘選。 新增封鎖釘選可防止在呼叫 winget upgrade --allwinget upgrade <package> 時升級此封裝。 您必須將封裝解除封鎖,才能讓 WinGet 執行升級。

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

下列範例會使用應用程式的識別碼來為應用程式新增限制釘選。 新增限制釘選可防止升級特定版本或限制的萬用字元範圍以外的封裝版本。

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

remove

remove 子命令會移除釘選。 此子命令會要求您指定要移除的確切封裝釘選。 如果有任何不明確的情況,系統會提示您進一步將 remove 子命令篩選到確切的應用程式。

Usage :

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

引數

Argument 描述
-q,--query 用來搜尋應用程式的查詢。

選項。

這些選項可讓您自訂移除釘選的方式,以符合您的需求。

選項 描述
--id 將搜尋限制為應用程式的識別碼。
--name 將搜尋限制為應用程式的名稱。
--moniker 將搜尋限制為針對應用程式列出的別名。
-s, --source 將搜尋限制為提供的來源名稱。 後面必須加上來源名稱。
--tag 將搜尋限制為針對應用程式所列出的標籤。
--cmd、--command 將搜尋限制為應用程式的命令。
-e, --exact 在查詢中使用確切字串,包括檢查是否區分大小寫。 其不會使用子字串的預設行為。
--header 選用性的 Windows-Package-Manager REST 來源 HTTP 標頭。
--authentication-mode 指定驗證視窗喜好設定 (silent、silentPreferred 或 interactive)。
--authentication-account 指定要用於驗證的帳戶。
--accept-source-agreements 用於接受來源授權合約且避免提示。
--installed 釘選特定的已安裝版本。
-?, --help 取得此命令的其他說明。
--wait 提示使用者在結束之前按任何鍵。
--logs、--open-logs 開啟預設記錄位置。
--verbose, --verbose-logs 用於覆寫記錄設定,並建立詳細資訊記錄。
--nowarn,--ignore-warnings 隱藏警告輸出。
--disable-interactivity 停用互動式提示。
--proxy 設定此執行所要使用的 Proxy。
--no-proxy 停用此執行的 Proxy。

範例

下列範例會為應用程式移除釘選。

winget pin remove powertoys

下列範例會使用應用程式識別碼來為應用程式移除釘選。

winget pin remove --id Microsoft.PowerToys

清單

list 子命令會列出所有目前的釘選。

Usage :

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

引數

Argument 描述
-q,--query 用來搜尋應用程式的查詢。

選項。

這些選項可讓您自訂列出釘選的方式,以符合您的需求。

選項 描述
--id 將搜尋限制為應用程式的識別碼。
--name 將搜尋限制為應用程式的名稱。
--moniker 將搜尋限制為針對應用程式列出的別名。
-s, --source 將搜尋限制為提供的來源名稱。 後面必須加上來源名稱。
--tag 將搜尋限制為針對應用程式所列出的標籤。
--cmd、--command 將搜尋限制為應用程式的命令。
-e, --exact 在查詢中使用確切字串,包括檢查是否區分大小寫。 其不會使用子字串的預設行為。
--header 選用性的 Windows-Package-Manager REST 來源 HTTP 標頭。
--authentication-mode 指定驗證視窗喜好設定 (silent、silentPreferred 或 interactive)。
--authentication-account 指定要用於驗證的帳戶。
--accept-source-agreements 用於接受來源授權合約且避免提示。
-?, --help 取得此命令的其他說明。
--wait 提示使用者在結束之前按任何鍵。
--logs、--open-logs 開啟預設記錄位置。
--verbose, --verbose-logs 用於覆寫記錄設定,並建立詳細資訊記錄。
--nowarn,--ignore-warnings 隱藏警告輸出。
--disable-interactivity 停用互動式提示。
--proxy 設定此執行所要使用的 Proxy。
--no-proxy 停用此執行的 Proxy。

範例

下列範例會列出所有目前的釘選。

winget pin list

下列範例會列出特定的封裝釘選。

winget pin list --id Microsoft.PowerToys

reset

reset 子命令會重設所有釘選。

在不使用 --force 引數的情況下使用此子命令,將會顯示將移除的釘選。

若要重設所有釘選,請包含 --force 引數。

Usage :

winget pin reset [<options>]

選項。

這些選項可讓您自訂重設釘選的方式,以符合您的需求。

選項 描述
--force 直接執行命令,並繼續處理非安全性相關問題。
-s, --source 將搜尋限制為提供的來源名稱。 後面必須加上來源名稱。
-?, --help 取得此命令的其他說明。
--wait 提示使用者在結束之前按任何鍵。
--logs、--open-logs 開啟預設記錄位置。
--verbose, --verbose-logs 用於覆寫記錄設定,並建立詳細資訊記錄。
--nowarn,--ignore-warnings 隱藏警告輸出。
--disable-interactivity 停用互動式提示。
--proxy 設定此執行所要使用的 Proxy。
--no-proxy 停用此執行的 Proxy。

範例

下列範例會顯示將重設的所有釘選。

winget pin reset

下列範例會重設所有現有的釘選。

winget pin reset --force