WinGet來源指令可以讓你管理來源。 透過 source 指令,你可以 新增、 列出、 更新、 移除、 重置或 匯出 WinGet 原始碼。
WinGet 來源提供資料,讓你能發現並安裝應用程式。 只使用安全且可信賴的來源。
WinGet 指定以下三個預設來源,你可以用 winget source list來列出。
- msstore - Microsoft Store 目錄。
- winget - WinGet 應用程式社群倉庫。
- winget-font - WinGet 字型社群倉庫。
使用方式
winget source <subcommand> <options>
Sub-Commands
下列是可用的引數。
| Sub-Command | 描述 |
|---|---|
| 新增 | 新增來源。 |
| 清單 | 列出目前的來源。 |
| 更新 | 更新目前的來源。 |
| 移除 | 拿掉目前的來源。 |
| 重設 | 重置預設來源 msstore、 winget 和 winget-font。 |
| 匯出 | 匯出目前的來源。 |
選項
可用選項如下。
| 選項 | 描述 |
|---|---|
| -?--幫助 | 顯示所選命令的說明。 |
| --等 | 提示使用者在結束之前按任何鍵。 |
| --logs,--open-logs | 開啟預設記錄位置。 |
| --verbose、--verbose-logs | 用於覆寫記錄設定,並建立詳細資訊記錄。 |
| --nowarn(不顯示警告),--ignore-warnings(忽略警告) | 隱藏警告輸出。 |
| --禁用互動功能 | 停用互動式提示。 |
| --代理 | 設定此執行所要使用的 Proxy。 |
| --無代理 | 停用此執行的 Proxy。 |
新增
add 子命令可新增新的來源。 此子命令需要 --name 和 --arg 選項。 因為該命令會變更使用者的存取權,所以使用 add 需要系統管理員權限。
Usage :
winget source add [-n] <name> [-a] <arg> [[-t] <type>] [<options>]
引數
下列是可用的引數。
| 引數 | 描述 |
|---|---|
| -n, --name | 要用來識別來源的名稱。 |
| -a, --arg | 來源的 URL 或 UNC。 |
| -t、 --type | 來源的類型。 |
選項
可用選項如下。
| 選項 | 描述 |
|---|---|
| --trust-level | 來源的信任層級 (無或受信任)。 |
| --頁眉 | 選用性的 Windows-Package-Manager REST 來源 HTTP 標頭。 |
| --接受來源協議 | 用於接受來源授權合約且避免提示。 |
| --明確 | |
| -?, --幫助 | 取得此命令的其他說明。 |
| --等 | 提示使用者在結束之前按任何鍵。 |
| --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 | 預設的來源類型。 |
| Microsoft.Rest | Microsoft REST API 源。 |
清單
list 子命令可列舉目前啟用的來源,或提供特定來源的詳細資料。
備註
當來源被設定為明確時,必須針對特定目標。 winget-font 來源預設為 explicit。 這表示其他 WinGet 指令必須直接引用來源,使用 “--source winget-font” 或 “-s winget-font” 才能包含。
Usage :
winget source list [[-n] <name>] [<options>]
別名
此子命令可使用下列別名:
- ls
引數
下列是可用的引數。
| 引數 | 描述 |
|---|---|
| -n, --name | 要用來識別來源的名稱。 |
選項
可用選項如下。
| 選項 | 描述 |
|---|---|
| -?, --幫助 | 取得此命令的其他說明。 |
| --等 | 提示使用者在結束之前按任何鍵。 |
| --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
列出來源詳細資料
若要取得有關來源的完整詳細資料,請傳入來源的名稱。 例如:
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是來源的名稱。 -
Type是來源的類型。 -
Arg是來源所使用的 URL 或路徑。 -
Data是選用性的封裝名稱 (如果適當的話)。 -
Updated是上次更新來源的日期和時間。
更新
update 子命令會強制更新個別來源或所有來源。
Usage :
winget source update [[-n] <name>] [<options>]
別名
此子命令可使用下列別名:
- 重新整理
引數
下列是可用的引數。
| 引數 | 描述 |
|---|---|
| -n, --name | 要用來識別來源的名稱。 |
選項
可用選項如下。
| 選項 | 描述 |
|---|---|
| -?, --幫助 | 取得此命令的其他說明。 |
| --等 | 提示使用者在結束之前按任何鍵。 |
| --logs,--open-logs | 開啟預設記錄位置。 |
| --verbose、--verbose-logs | 用於覆寫記錄設定,並建立詳細資訊記錄。 |
| --nowarn(不顯示警告),--ignore-warnings(忽略警告) | 隱藏警告輸出。 |
| --禁用互動功能 | 停用互動式提示。 |
| --代理 | 設定此執行所要使用的 Proxy。 |
| --無代理 | 停用此執行的 Proxy。 |
更新全部
update 子命令本身 (winget source update) 會要求更新所有存放庫。
更新來源
含 --name 選項的 [更新] 子命令會將更新導向至具名來源。 例如:winget source update --name Contoso 會強制更新 Contoso 存放庫。
移除
remove 子命令會移除來源。 此子命令需要 --name 選項來識別來源。 因為該命令會變更使用者的存取權,所以使用 remove 需要系統管理員權限。
Usage :
winget source remove [-n] <name> [<options>]
別名
此子命令可使用下列別名:
- rm
引數
下列是可用的引數。
| 引數 | 描述 |
|---|---|
| -n, --name | 要用來識別來源的名稱。 |
選項
可用選項如下。
| 選項 | 描述 |
|---|---|
| -?, --幫助 | 取得此命令的其他說明。 |
| --等 | 提示使用者在結束之前按任何鍵。 |
| --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 | 要用來識別來源的名稱。 |
選項
可用選項如下。
| 選項 | 描述 |
|---|---|
| --力 | 強制重設來源。 |
| -?, --幫助 | 取得此命令的其他說明。 |
| --等 | 提示使用者在結束之前按任何鍵。 |
| --logs,--open-logs | 開啟預設記錄位置。 |
| --verbose、--verbose-logs | 用於覆寫記錄設定,並建立詳細資訊記錄。 |
| --nowarn(不顯示警告),--ignore-warnings(忽略警告) | 隱藏警告輸出。 |
| --禁用互動功能 | 停用互動式提示。 |
| --代理 | 設定此執行所要使用的 Proxy。 |
| --無代理 | 停用此執行的 Proxy。 |
匯出
export 子命令會將來源的特定詳細資料匯出成 JSON 輸出。 這適用於設定來源管理的組策略。
Usage :
winget source export [[-n] <name>] [<options>]
引數
下列是可用的引數。
| 引數 | 描述 |
|---|---|
| -n, --name | 要用來識別來源的名稱。 |
選項
可用選項如下。
| 選項 | 描述 |
|---|---|
| -?, --幫助 | 取得此命令的其他說明。 |
| --等 | 提示使用者在結束之前按任何鍵。 |
| --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"}
來源合約
個別 來源 可要求使用者同意所提供的協議,然後再加入或使用該來源。 若使用者不接受協議,WinGet 將無法存取原始碼。
你可以使用 --accept-source-agreements 選項來接受來源協議並避免提示。
許多 WinGet 指令會評估所有設定的來源。 如果任何設定的原始碼需要協議,WinGet 會在使用這些原始碼前先提示。 使用前必須接受來源協議。 若來源更新協議條款,或來源被移除後重新加入(如 winget source reset --force),協議將再次呈現。