WinGetsource 指令可以讓你管理來源。 透過這個 source 指令,你可以 新增、 編輯、 列出、 更新、 移除、 重設或 匯出 WinGet 原始碼。
WinGet source 提供資料讓你發現並安裝應用程式。 只使用安全且可信賴的來源。
WinGet 指定以下三個預設來源,你可以用 winget source list來列出。
- msstore - Microsoft Store 目錄。
- winget - WinGet 社群應用程式倉庫。
- winget-font - WinGet 字型社群倉庫。
使用方式
winget source <subcommand> <options>
Sub-Commands
下列是可用的引數。
| Sub-Command | 描述 |
|---|---|
| 新增 | 新增一個 source. |
| edit | 編輯現有 source的 . |
| 清單 | 列出目前的來源。 |
| 更新 | 更新目前的來源。 |
| 移除 | 拿掉目前的來源。 |
| 重設 | 重置預設的來源 msstore、 winget、 和 winget-font。 |
| 匯出 | 匯出目前的來源。 |
選項
可用選項如下。
| 選項 | 描述 |
|---|---|
| -?--幫助 | 顯示所選命令的說明。 |
| --等 | 提示使用者在結束之前按任何鍵。 |
| --logs,--open-logs | 開啟預設記錄位置。 |
| --verbose、--verbose-logs | 用於覆寫記錄設定,並建立詳細資訊記錄。 |
| --nowarn(不顯示警告),--ignore-warnings(忽略警告) | 隱藏警告輸出。 |
| --禁用互動功能 | 停用互動式提示。 |
| --代理 | 設定此執行所要使用的 Proxy。 |
| --無代理 | 停用此執行的 Proxy。 |
新增
add 子指令會新增一個 source。 此子命令需要 --name 和 --arg 選項。 因為該命令會變更使用者的存取權,所以使用 add 需要系統管理員權限。
Usage :
winget source add [-n] <name> [-a] <arg> [[-t] <type>] [<options>]
引數
下列是可用的引數。
| 引數 | 描述 |
|---|---|
| -n, --name | 用來辨識 source by。 |
| -a, --arg | 該網址或 UNC 的 source。 |
| -t、 --type | source 的類型。 |
選項
可用選項如下。
| 選項 | 描述 |
|---|---|
| --trust-level | 信任程度 source (無或可信)。 |
| --頁眉 | 可選的 Windows-Package-Manager REST source HTTP 標頭。 |
| ——接受——source協議 | 用來接受 source 授權協議,並避免提示。 |
| --明確 | 標記為 source 明確,要求指令直接針對 --source。 |
| -?, --幫助 | 取得此命令的其他說明。 |
| --等 | 提示使用者在結束之前按任何鍵。 |
| --logs,--open-logs | 開啟預設記錄位置。 |
| --verbose、--verbose-logs | 用於覆寫記錄設定,並建立詳細資訊記錄。 |
| --nowarn(不顯示警告),--ignore-warnings(忽略警告) | 隱藏警告輸出。 |
| --禁用互動功能 | 停用互動式提示。 |
| --代理 | 設定此執行所要使用的 Proxy。 |
| --無代理 | 停用此執行的 Proxy。 |
例如,winget source add --name Contoso https://www.contoso.com/cache 會在 URL https://www.contoso.com/cache 新增 Contoso 存放庫。
選用性的 type 參數
add 子命令支援選用性的類型參數,該參數會告訴用戶端它正在連接到什麼類型的存放庫。 支援以下類型。
| 類型 | 描述 |
|---|---|
| Microsoft.PreIndexed.Package | 預設 source 類型。 |
| Microsoft.Rest | 一個Microsoft REST API source。 |
編輯
編輯子指令是修改現有source的設定。 主要用途是切換 a source 是 顯 式還是 隱含。 當 a source 是明確的時,WinGet 指令必須直接使用 --source。 當 a source 是隱含的時,所有指令都會自動包含它。
Usage :
winget source edit [-n] <name> [<options>]
引數
下列是可用的引數。
| 引數 | 描述 |
|---|---|
| -n, --name | 要編輯的名稱 source 。 |
選項
可用選項如下。
| 選項 | 描述 |
|---|---|
| --明確 | 將 設定 source 為明確(true)或隱含(false)。 當明確時,指令必須直接針對 source 使用 --source的 。 |
| --頁眉 | 可選的 Windows-Package-Manager REST source HTTP 標頭。 |
| ——接受——source協議 | 用來接受 source 授權協議,並避免提示。 |
| -?, --幫助 | 取得此命令的其他說明。 |
| --等 | 提示使用者在結束之前按任何鍵。 |
| --logs,--open-logs | 開啟預設記錄位置。 |
| --verbose、--verbose-logs | 用於覆寫記錄設定,並建立詳細資訊記錄。 |
| --nowarn(不顯示警告),--ignore-warnings(忽略警告) | 隱藏警告輸出。 |
| --禁用互動功能 | 停用互動式提示。 |
| --代理 | 設定此執行所要使用的 Proxy。 |
| --無代理 | 停用此執行的 Proxy。 |
範例
winget-字型預設為明確字型,意即指令必須直接使用該--source winget-font字型source。 要將其重設為預設(隱含)狀態,使它自動包含在所有 WinGet 指令中,請執行:
winget source edit winget-font --explicit false
要將 a source 設為明確:
winget source edit winget-font --explicit true
清單
list 子指令用來列舉目前啟用的來源,或提供特定 source的詳細資訊。
備註
當 a source 被設定為明確時,必須針對特定目標。 winget-字體預設為明確字型source。 這表示其他 WinGet 指令必須直接參考 , source 使用「--sourcewinget-font」或「-s winget-font」才能包含。
Usage :
winget source list [[-n] <name>] [<options>]
別名
此子命令可使用下列別名:
ls
引數
下列是可用的引數。
| 引數 | 描述 |
|---|---|
| -n, --name | 用來辨識 source by。 |
選項
可用選項如下。
| 選項 | 描述 |
|---|---|
| -?, --幫助 | 取得此命令的其他說明。 |
| --等 | 提示使用者在結束之前按任何鍵。 |
| --logs,--open-logs | 開啟預設記錄位置。 |
| --verbose、--verbose-logs | 用於覆寫記錄設定,並建立詳細資訊記錄。 |
| --nowarn(不顯示警告),--ignore-warnings(忽略警告) | 隱藏警告輸出。 |
| --禁用互動功能 | 停用互動式提示。 |
| --代理 | 設定此執行所要使用的 Proxy。 |
| --無代理 | 停用此執行的 Proxy。 |
全部列出
list 子指令 本身 winget source list,即可完整列出所有已設定的來源:
Name Argument Explicit
------------------------------------------------------------------
msstore https://storeedgefd.dsx.mp.microsoft.com/v9.0 false
winget https://cdn.winget.microsoft.com/cache false
winget-font https://cdn.winget.microsoft.com/fonts true
列表 source 詳情
要獲得完整的 source細節,請輸入 的名稱 source。 例如:
winget source list --name winget
會傳回以下輸出:
Field Value
--------------------------------------------------
Name winget
Type Microsoft.PreIndexed.Package
Argument https://cdn.winget.microsoft.com/cache
Data Microsoft.Winget.Source_8wekyb3d8bbwe
Identifier Microsoft.Winget.Source_8wekyb3d8bbwe
Trust Level Trusted|StoreOrigin
Explicit false
Updated 2025-12-11 08:30:25.000
-
Name是 source 的名稱。 -
Type是 的 source類型。 -
Arg是所 source 使用的網址或路徑。 -
Data是選用性的封裝名稱 (如果適當的話)。 -
Updated是更新的 source 最後日期和時間。
更新
update 子指令強制更新給個人source或所有來源。
Usage :
winget source update [[-n] <name>] [<options>]
別名
此子命令可使用下列別名:
refresh
引數
下列是可用的引數。
| 引數 | 描述 |
|---|---|
| -n, --name | 用來辨識 source by。 |
選項
可用選項如下。
| 選項 | 描述 |
|---|---|
| -?, --幫助 | 取得此命令的其他說明。 |
| --等 | 提示使用者在結束之前按任何鍵。 |
| --logs,--open-logs | 開啟預設記錄位置。 |
| --verbose、--verbose-logs | 用於覆寫記錄設定,並建立詳細資訊記錄。 |
| --nowarn(不顯示警告),--ignore-warnings(忽略警告) | 隱藏警告輸出。 |
| --禁用互動功能 | 停用互動式提示。 |
| --代理 | 設定此執行所要使用的 Proxy。 |
| --無代理 | 停用此執行的 Proxy。 |
更新全部
update 子命令本身 (winget source update) 會要求更新所有存放庫。
更新 source
帶有 --name 選項的 update 子指令會將更新導向 named source的 。 例如:winget source update --name Contoso 會強制更新 Contoso 存放庫。
移除
remove 子指令會移除一個 source。 此子指令需要 --name 選項來識別 source。 因為該命令會變更使用者的存取權,所以使用 remove 需要系統管理員權限。
Usage :
winget source remove [-n] <name> [<options>]
別名
此子命令可使用下列別名:
rm
引數
下列是可用的引數。
| 引數 | 描述 |
|---|---|
| -n, --name | 用來辨識 source by。 |
選項
可用選項如下。
| 選項 | 描述 |
|---|---|
| -?, --幫助 | 取得此命令的其他說明。 |
| --等 | 提示使用者在結束之前按任何鍵。 |
| --logs,--open-logs | 開啟預設記錄位置。 |
| --verbose、--verbose-logs | 用於覆寫記錄設定,並建立詳細資訊記錄。 |
| --nowarn(不顯示警告),--ignore-warnings(忽略警告) | 隱藏警告輸出。 |
| --禁用互動功能 | 停用互動式提示。 |
| --代理 | 設定此執行所要使用的 Proxy。 |
| --無代理 | 停用此執行的 Proxy。 |
範例
winget source remove --name Contoso
此命令會移除 Contoso 存放庫。
重置
reset 子命令會將用戶端重設回到其原始組態,並移除預設值以外的所有來源。 僅在極少數的情況下才會使用此子命令。 因為該命令會變更使用者的存取權,所以使用 reset 需要系統管理員權限。
因為 reset 命令會移除所有來源,所以您必須使用 --force 選項來強制執行該動作。
Usage :
winget source reset [[-n] <name>] [<options>]
引數
下列是可用的引數。
| 引數 | 描述 |
|---|---|
| -n, --name | 用來辨識 source by。 |
選項
可用選項如下。
| 選項 | 描述 |
|---|---|
| --力 | 強制重設來源。 |
| -?, --幫助 | 取得此命令的其他說明。 |
| --等 | 提示使用者在結束之前按任何鍵。 |
| --logs,--open-logs | 開啟預設記錄位置。 |
| --verbose、--verbose-logs | 用於覆寫記錄設定,並建立詳細資訊記錄。 |
| --nowarn(不顯示警告),--ignore-warnings(忽略警告) | 隱藏警告輸出。 |
| --禁用互動功能 | 停用互動式提示。 |
| --代理 | 設定此執行所要使用的 Proxy。 |
| --無代理 | 停用此執行的 Proxy。 |
匯出
export 子指令會將 a source 的具體細節匯出成 JSON 輸出。 這對於管理群組政策 source 的設定非常有用。
Usage :
winget source export [[-n] <name>] [<options>]
引數
下列是可用的引數。
| 引數 | 描述 |
|---|---|
| -n, --name | 用來辨識 source by。 |
選項
可用選項如下。
| 選項 | 描述 |
|---|---|
| -?, --幫助 | 取得此命令的其他說明。 |
| --等 | 提示使用者在結束之前按任何鍵。 |
| --logs,--open-logs | 開啟預設記錄位置。 |
| --verbose、--verbose-logs | 用於覆寫記錄設定,並建立詳細資訊記錄。 |
| --nowarn(不顯示警告),--ignore-warnings(忽略警告) | 隱藏警告輸出。 |
| --禁用互動功能 | 停用互動式提示。 |
| --代理 | 設定此執行所要使用的 Proxy。 |
| --無代理 | 停用此執行的 Proxy。 |
範例
winget source export winget
會傳回以下輸出:
{"Arg":"https://cdn.winget.microsoft.com/cache","Data":"Microsoft.Winget.Source_8wekyb3d8bbwe","Explicit":false,"Identifier":"Microsoft.Winget.Source_8wekyb3d8bbwe","Name":"winget","TrustLevel":["Trusted","StoreOrigin"],"Type":"Microsoft.PreIndexed.Package"}
來源合約
個人 source 可要求使用者在新增或使用前 source同意所提供的協議。 若使用者不接受協議,WinGet 將無法存取。source
你可以使用 --accept-source-agreements 選項來接受協議 source 並避免提示。
許多 WinGet 指令會評估所有設定的來源。 如果有設定 source 需要協議,WinGet 會在使用這些來源前先提示。 使用前必須接受來源協議。 若 source 協議條款更新,或 a source 被移除再重新加入(如 的情況 winget source reset --force),協議將再次呈現。