如何检查 WinGet 配置文件的可信度

在运行 WinGet 配置文件之前,建议查看和评估该文件中列出的每个资源,确保完全了解正在安装、更改或应用于作系统的内容,以及它来自可信且安全的源。

详细了解如何使用 WinGet 配置命令

安全通知和审批

在运行配置之前,系统会提示用户(除非他们显式传递配置协议接受参数),检查并确认他们有责任验证配置。

由于 WinGet 配置文件提供的无人值守安装的优势,显式安装通知和审批的数量会显著减少。 相反地,使用 WinGet 配置文件需要在使用 winget configure 命令运行配置之前,事先对文件进行彻底的安全检查。 你负责审核每个要安装的包和每个将使用的 PowerShell Desired State Configuration (DSC) 模块,以确保它们来自可靠来源。

请注意:

  • 在管理 shell 中通过 winget configure 运行配置的用户,不会收到有关在管理上下文中对系统所做更改的提示。

  • 在用户上下文中通过 winget configure 运行配置的用户可能只会收到一个针对整个配置过程的用户帐户控制(UAC)权限提升提示。

查看配置资源

WinGet 配置利用 PowerShell DSC 将配置应用于用户系统。 配置文件指定将用于应用所需状态的 PowerShell DSC 资源。 在同意运行配置文件之前,应查看每个 DSC 资源。

查看 PowerShell DSC 资源:

  • PowerShell Get-PSRepository cmdlet 可用于查看已配置的存储库,并在执行文件之前确定资源的来源位置。

查看配置资源时,请注意:

  • 可以将 PowerShell DSC 资源 配置为运行任何任意代码,包括但不限于将其他 DSC 资源和二进制文件拉取和执行到本地计算机。 这需要对发布者的资源和信誉进行勤奋的完整性检查。 例如, DSC 脚本资源 提供了一种机制,用于在目标节点上运行 Windows PowerShell 脚本块(使用 Get、Set 和测试脚本)。 在不查看脚本内容的情况下,不要从不受信任的发布者运行脚本资源。

  • PowerShell 画廊 是一个用于发现、共享和获取 PowerShell 模块、脚本及 DSC 资源的中心存储库。 此存储库 Microsoft不 验证,并且包含默认情况下不应信任的各种作者和发布者的资源。 每个软件包在画廊中都有一个特定页面,其中关联的元数据与 Owner 字段密切关联到画廊帐户(比“作者”字段更可信)。 如果您发现一个您认为没有按照善意发布的包,请选择该包页面上的“举报滥用”。 详细了解 PowerShell Gallery

测试配置文件

建议在干净隔离的环境中测试所有 WinGet 配置文件。 一些测试选项包括: