source 命令 (winget)

winget 工具的 source 命令可管理 Windows 程序包管理器访问的存储库。 使用 source 命令,可以添加、删除、列出以及更新存储库。

源为你提供用于发现和安装应用程序的数据。 仅当你信任新源作为安全位置时才会添加该源。

用法

winget source \<sub command> \<options>

Source image

参数

可使用以下参数。

参数 说明
-?、--help 获取有关此命令的更多帮助。

子命令

源支持以下用于操作源的子命令。

子命令 说明
add 添加一个新源。
list 枚举已启用源的列表。
update 更新源。
删除 删除源。
reset 将 winget 和 msstore 重置回初始配置。
export 导出当前源

选项

source 命令支持以下选项。

选项 说明
-n、--name 用于标识源的名称。
-a、--arg 源的 URL 或 UNC。
--force 由 reset 用于确保需要重置。
-t、--type 源的类型。
--accept-source-agreements 用于接受源许可协议,并避免出现提示。
--header 可选 Windows-Package-Manager REST 源 HTTP 标头。
--verbose-logs 用于替代日志记录设置并创建详细日志。
-?、--help 获取有关此命令的更多帮助。

添加

add 子命令可添加新源。 此子命令需要“--name”选项和“name”参数。 由于该命令会更改用户访问权限,因此 Add 要求用户具有管理员权限。

用法:winget source add [-n, --name] \<name> [-a] \<url> [[-t] \<type>]

示例: winget source add --name Contoso https://www.contoso.com/cache

add 子命令还支持可选的“type”参数。 “type”参数向客户端传递它所连接的存储库类型。 支持以下类型。

类型 说明
Microsoft.PreIndexed.Package 源 <default> 的类型。

列表

list 子命令枚举当前已启用的源。 此子命令还提供特定源的详细信息。

用法:winget source list [-n, --name] \<name>

全部列出

list 子命令本身会显示受支持源的完整列表。 例如:

> C:\winget source list
> Name   Arg
> -----------------------------------------
> winget https://winget.azureedge.net/cache

列出源详细信息

若要获取源的完整详细信息,请传入用于标识源的名称。 例如:

> C:\winget source list --name contoso  
> Name   : contoso  
> Type   : Microsoft.PreIndexed.Package  
> Arg    : https://pkgmgr-int.azureedge.net/cache  
> Data   : AppInstallerSQLiteIndex-int_g4ype1skzj3jy  
> Updated: 2020-4-14 17:45:32.000

Name 显示用于标识源的名称。 Type 显示存储库的类型。 Arg 显示源使用的 URL 或路径。 Data 显示所使用的可选包名称(如果适用)。 Updated 显示上次更新源的日期和时间。

更新

update 子命令强制更新单个源或所有源。

用法:winget source update [-n, --name] \<name>

全部更新

update 子命令本身会请求并更新每个存储库。 例如:winget source update

更新源

update 子命令与“--name”选项结合使用可定向到单个源并对其进行更新。 例如:winget source update --name contoso

删除

remove 子命令可删除源。 此子命令需要“--name”选项和“name”参数才能标识源。 由于该命令会更改用户访问权限,因此 Remove 要求用户具有管理员权限。

用法:winget source remove [-n, --name] \<name>

例如:winget source remove --name Contoso

reset

reset 子命令可将客户端重置回其原始配置。 reset 子命令可删除所有源并将源设置为默认值。 仅在极少数情况下才使用此子命令。 由于该命令会更改用户访问权限,因此 Reset 要求用户具有管理员权限。

注意

由于 reset 命令会清理所有源,因此必须使用 --force 参数来强制执行该操作 。

用法:winget source reset --force

导出

通过 export 子命令可以将源的特定详细信息导出到 JSON 文件。

例如:

> winget source export winget
> {"Arg":"https://winget.azureedge.net/cache","Data":"Microsoft.Winget.Source_8wekyb3d8bbwe","Identifier":"Microsoft.Winget.Source_8wekyb3d8bbwe","Name":"winget","Type":"Microsoft.PreIndexed.Package"}

默认存储库

Windows 程序包管理器会指定两个默认存储库。 可使用 list 命令标识存储库。 例如:winget source list

  • msstore - Microsoft Store 目录。
  • winget - Windows 程序包管理器应用存储库。

源协议

单个源可以请求用户在访问存储库之前同意条款。 在添加或使用存储库之前,用户必须同意提供的条款。

Source license image

如果用户未同意或确认协议,则他们无法访问源内容。