show 命令 (winget)
winget pin 命令可讓您限制 Windows 封裝管理員將封裝升級至特定範圍的版本,或是可以防止封裝一次完成所有升級。 釘選的封裝可能仍會自行升級,以及從 Windows 封裝管理員外部升級。
釘選類型
WinGet 支援三種類型的封裝釘選:
釘選 (Pinning):將封裝從
winget upgrade --all
排除,但允許winget upgrade <package>
。 您可以使用--include-pinned
引數來讓winget upgrade --all
包含釘選的封裝。封鎖 (Blocking):禁止對封裝執行
winget upgrade --all
或winget upgrade <package>
,您必須將封裝取消釘選,才能讓 WinGet 執行升級。--force
選項可用來覆寫釘選的行為。限制 (Gating):封裝會釘選到特定版本或版本範圍。 您可以指定您想要將封裝釘選到其中的確切版本,或是利用萬用字元
*
作為版本的最後部分來指定版本範圍。 例如,如果封裝要釘選至版本1.2.*
,則1.2.0
到1.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 --all
或 winget 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