這個 wingetsource 指令讓你可以管理來源。 透過指令source,你可以add使用、edit、removeresetlistupdate或 export WinGet 來源。
WinGet source 提供資料讓你發現並安裝應用程式。 只使用安全且可信賴的來源。
WinGet 指定以下三個預設來源,你可以用 winget source list來列出。
- msstore - Microsoft Store 目錄。
- winget - WinGet 社群應用程式倉庫。
- winget-font - WinGet 字型社群倉庫。
使用方式
winget source <subcommand> <options>
Sub-Commands
下列是可用的引數。
| Sub-Command | 描述 |
|---|---|
add |
新增一個 source. |
edit |
編輯現有 source的 . |
list |
列出目前的來源。 |
update |
更新目前的來源。 |
remove |
拿掉目前的來源。 |
reset |
重置預設的來源 msstore、 winget、 和 winget-font。 |
export |
匯出目前的來源。 |
選項
可用選項如下。
| 選項 | 描述 |
|---|---|
-?、--help |
顯示所選命令的說明。 |
--wait |
提示使用者在結束之前按任何鍵。 |
--logs、--open-logs |
開啟預設記錄位置。 |
--verbose、--verbose-logs |
用於覆寫記錄設定,並建立詳細資訊記錄。 |
--nowarn、--ignore-warnings |
隱藏警告輸出。 |
--disable-interactivity |
停用互動式提示。 |
--proxy |
設定此執行所要使用的 Proxy。 |
--no-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 (無或可信)。 |
--header |
可選的 Windows-Package-Manager REST source HTTP 標頭。 |
--accept-source-agreements |
用來接受 source 授權協議,並避免提示。 |
--explicit |
標記為 source 明確,要求指令直接針對 --source。 |
-?、--help |
取得此命令的其他說明。 |
--wait |
提示使用者在結束之前按任何鍵。 |
--logs、--open-logs |
開啟預設記錄位置。 |
--verbose、--verbose-logs |
用於覆寫記錄設定,並建立詳細資訊記錄。 |
--nowarn、--ignore-warnings |
隱藏警告輸出。 |
--disable-interactivity |
停用互動式提示。 |
--proxy |
設定此執行所要使用的 Proxy。 |
--no-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。 |
編輯
這個 edit 子指令會修改現有 source的 設定。 主要用途是切換 a source 是 顯 式還是 隱含。 當 a source 是明確的時,WinGet 指令必須直接使用 --source。 當 a source 是隱含的時,所有指令都會自動包含它。
Usage :
winget source edit [-n] <name> [<options>]
引數
下列是可用的引數。
| 引數 | 描述 |
|---|---|
-n、--name |
要編輯的名稱 source 。 |
選項
可用選項如下。
| 選項 | 描述 |
|---|---|
--explicit |
將 設定 source 為明確(true)或隱含(false)。 當明確時,指令必須直接針對 source 使用 --source的 。 |
--header |
可選的 Windows-Package-Manager REST source HTTP 標頭。 |
--accept-source-agreements |
用來接受 source 授權協議,並避免提示。 |
-?、--help |
取得此命令的其他說明。 |
--wait |
提示使用者在結束之前按任何鍵。 |
--logs、--open-logs |
開啟預設記錄位置。 |
--verbose、--verbose-logs |
用於覆寫記錄設定,並建立詳細資訊記錄。 |
--nowarn、--ignore-warnings |
隱藏警告輸出。 |
--disable-interactivity |
停用互動式提示。 |
--proxy |
設定此執行所要使用的 Proxy。 |
--no-proxy |
停用此執行的 Proxy。 |
範例
winget-字型預設為明確字型,意即指令必須直接使用該source字型--source winget-font。 要將其重設為預設(隱含)狀態,使它自動包含在所有 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 using 或 --source winget-font-s winget-font 才能包含。
Usage :
winget source list [[-n] <name>] [<options>]
別名
此子命令可使用下列別名:
ls
引數
下列是可用的引數。
| 引數 | 描述 |
|---|---|
-n、--name |
用來辨識 source by。 |
選項
可用選項如下。
| 選項 | 描述 |
|---|---|
-?、--help |
取得此命令的其他說明。 |
--wait |
提示使用者在結束之前按任何鍵。 |
--logs、--open-logs |
開啟預設記錄位置。 |
--verbose、--verbose-logs |
用於覆寫記錄設定,並建立詳細資訊記錄。 |
--nowarn、--ignore-warnings |
隱藏警告輸出。 |
--disable-interactivity |
停用互動式提示。 |
--proxy |
設定此執行所要使用的 Proxy。 |
--no-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。 |
選項
可用選項如下。
| 選項 | 描述 |
|---|---|
-?、--help |
取得此命令的其他說明。 |
--wait |
提示使用者在結束之前按任何鍵。 |
--logs、--open-logs |
開啟預設記錄位置。 |
--verbose、--verbose-logs |
用於覆寫記錄設定,並建立詳細資訊記錄。 |
--nowarn、--ignore-warnings |
隱藏警告輸出。 |
--disable-interactivity |
停用互動式提示。 |
--proxy |
設定此執行所要使用的 Proxy。 |
--no-proxy |
停用此執行的 Proxy。 |
更新全部
update子指令本身 winget source update, 請求更新所有 repo。
更新 source
帶有--name選項的update子指令會將更新導向命名source的 。 例如:winget source update --name Contoso 會強制更新 Contoso 存放庫。
移除
子 remove 指令會移除一個 source. 此子指令要求有 --name 選項來識別 source。 由於指令會改變使用者存取權限,使用 remove 時需要管理員權限。
Usage :
winget source remove [-n] <name> [<options>]
別名
此子命令可使用下列別名:
rm
引數
下列是可用的引數。
| 引數 | 描述 |
|---|---|
-n、--name |
用來辨識 source by。 |
選項
可用選項如下。
| 選項 | 描述 |
|---|---|
-?、--help |
取得此命令的其他說明。 |
--wait |
提示使用者在結束之前按任何鍵。 |
--logs、--open-logs |
開啟預設記錄位置。 |
--verbose、--verbose-logs |
用於覆寫記錄設定,並建立詳細資訊記錄。 |
--nowarn、--ignore-warnings |
隱藏警告輸出。 |
--disable-interactivity |
停用互動式提示。 |
--proxy |
設定此執行所要使用的 Proxy。 |
--no-proxy |
停用此執行的 Proxy。 |
範例
winget source remove --name Contoso
此命令會移除 Contoso 存放庫。
重置
這個 reset 子指令會將用戶端重設回原始設定,並移除除預設訊號外的所有來源。 僅在極少數的情況下才會使用此子命令。 由於指令會改變使用者存取權限,使用 reset 時需要管理員權限。
因為指令會 reset 移除所有來源,你必須使用 --force 該選項強制執行該動作。
Usage :
winget source reset [[-n] <name>] [<options>]
引數
下列是可用的引數。
| 引數 | 描述 |
|---|---|
-n、--name |
用來辨識 source by。 |
選項
可用選項如下。
| 選項 | 描述 |
|---|---|
--force |
強制重設來源。 |
-?、--help |
取得此命令的其他說明。 |
--wait |
提示使用者在結束之前按任何鍵。 |
--logs、--open-logs |
開啟預設記錄位置。 |
--verbose、--verbose-logs |
用於覆寫記錄設定,並建立詳細資訊記錄。 |
--nowarn、--ignore-warnings |
隱藏警告輸出。 |
--disable-interactivity |
停用互動式提示。 |
--proxy |
設定此執行所要使用的 Proxy。 |
--no-proxy |
停用此執行的 Proxy。 |
匯出
這個 export 子指令會將 a source 的具體細節匯出成 JSON 輸出。 這對於管理群組政策 source 的設定非常有用。
Usage :
winget source export [[-n] <name>] [<options>]
引數
下列是可用的引數。
| 引數 | 描述 |
|---|---|
-n、--name |
用來辨識 source by。 |
選項
可用選項如下。
| 選項 | 描述 |
|---|---|
-?、--help |
取得此命令的其他說明。 |
--wait |
提示使用者在結束之前按任何鍵。 |
--logs、--open-logs |
開啟預設記錄位置。 |
--verbose、--verbose-logs |
用於覆寫記錄設定,並建立詳細資訊記錄。 |
--nowarn、--ignore-warnings |
隱藏警告輸出。 |
--disable-interactivity |
停用互動式提示。 |
--proxy |
設定此執行所要使用的 Proxy。 |
--no-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),協議將再次呈現。