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

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

详细了解如何使用 WinGet configure 命令

安全通知和审批

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

由于 WinGet 配置文件实现的无人参与安装优势,显式安装通知和审批的数量大大减少。 相反,在使用 winget configure 命令运行配置之前,使用 WinGet 配置文件需要预先对文件进行严格的安全检查。 你负责评审将安装的每个包和每个 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 和 Test 脚本)的机制。 在未查看脚本内容的情况下,不要从不受信任的发行商运行脚本资源。

  • PowerShell 库是一个用于发现、共享和获取 PowerShell 模块、脚本和 DSC 资源的中央存储库。 此存储库未经 Microsoft 验证,并且包含来自各种作者和发行商的资源,默认情况下不应信任这些资源。 每个包在库中都有一个特定页面,包含关联的元数据,其中 Owner 字段与库帐户紧密相关(比 Author 字段更可信)。 如果发现发布的包不可信,请选择该包页面上的“报告滥用行为”。 详细了解 PowerShell 库

测试配置文件

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