当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 无法从 URI 下载,PowerShell 安装模块错误

作者:精品下载站 日期:2024-12-14 19:33:39 浏览:15 分类:玩电脑

无法从 URI 下载,PowerShell 安装模块错误


在 Windows 11 或 Windows 10 计算机上,当您尝试连接到 PowerShell 存储库或运行 Install-Module cmdlet 来安装 PowerShell 安装模块时,可能会收到无法从 URI 下载,PowerShell 安装模块错误您的设备上的包。这篇文章提供了针对此问题的最适用的解决方案。

[玩转系统] 无法从 URI 下载,PowerShell 安装模块错误

发生此错误时,您将得到类似以下内容的输出;



鉴于虽然 Azure 和 Office 365 已迁移到 TLS 1.2,但默认情况下其他一些较旧的组件通常不使用 TLS 1.2,因此很可能会出现此问题。因此,这是 PowerShell 使用错误 TLS 配置的情况之一。

无法从 URI 下载,PowerShell 安装模块错误

当 PowerShell 尝试使用旧版 TLS/SSL 协议而不是当前的 TLS 1.2 或较新的 TLS 1.3 连接到 NuGet 存储库时,会出现此问题。因此,如果您遇到PowerShell安装模块错误无法从URI下载,您可以尝试以下建议来解决系统上的问题。

  1. 检查并更新 PowerShell 版本

  2. 将 PowerShell 设置为使用 TLS 1.2

我们来看看详细的建议。

在尝试以下建议之前(如错误输出所示),请检查您的互联网连接,确保您的电脑没有遇到互联网连接问题,并修复设备上可能存在的网络和互联网连接问题。

1.检查并更新PowerShell版本

[玩转系统] 无法从 URI 下载,PowerShell 安装模块错误

要轻松快速地解决 Windows 11/10 系统上的“无法从 URI 下载,PowerShell 安装模块错误”,您可以首先检查并更新计算机上安装的 PowerShell 版本。如果您的 PowerShell 版本是 5.1.14xx 或更早版本,请更新 PowerShell。

默认情况下,早期的 PowerShell 版本使用 SSL 3.0 和 TLS 1.0 建立与存储库的安全 HTTPS 连接。更新 PowerShell 并运行 Install-Module cmdlet 在设备上安装软件包但视图中再次出现错误时,您可以继续执行下一个建议。

2. 将 PowerShell 设置为使用 TLS 1.2

[玩转系统] 无法从 URI 下载,PowerShell 安装模块错误

现在您已在系统上更新了 PowerShell,但仍然收到错误,您可以检查并确保 PowerShell 设置为使用 TLS 1.2 或更高版本。请执行下列操作:

  • Windows 键 + X 打开高级用户菜单。

  • 点击键盘上的 A 以在管理/提升模式下启动 PowerShell(Windows 终端)。

  • 在 PowerShell 控制台中,键入或复制并粘贴以下命令,然后按 Enter 键以显示用于连接的协议列表:

[Net.ServicePointManager]::SecurityProtocol

如前所述,Microsoft 存储库要求 Windows 11/10 客户端计算机使用 TLS 1.2 或 TLS 1.3;因此,如果输出显示 PowerShell 使用旧版 SSL 3.0、TLS 1.0 或 TLS 1.1,您现在可以运行以下命令将 PowerShell 设置为使用 TLS1.2 或更高版本:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

完成后,您可以使用 Install-Module 安装 PowerShell 模块,不会出现任何问题。

但是,上述 cmdlet 是该特定 PowerShell 会话的临时解决方法。因此,要使此设置永久生效,以便不必每次手动更改 HTTPS 连接协议版本,您可以通过运行以下命令编辑注册表,将 TLS 1.2 设置为 .NET Framework 4.5 及更高版本中的默认连接协议(确保备份注册表或创建系统还原点):

适用于 64 位 .NET Framework 版本 4 及更高版本

Set-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord

适用于 32 位 .NET Framework 版本 4 及更高版本

Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord

完成后,重新启动 PowerShell 并检查支持的协议。现在,TLS 1.2 将始终用于 PowerShell 连接,您可以使用 NuGet 安装任何模块。

希望您发现这篇文章内容丰富且有帮助!

我的服务器使用什么 TLS 版本?

在浏览器中输入您要检查的 URL。右键单击页面或选择页面下拉菜单,然后选择属性。在新窗口中,查找“连接”部分。这将描述所使用的 TLS 或 SSL 版本。

如何在 Mac 上启用 TLS 1.1 和 TLS 1.2?

按 Ctrl+F12(或 Mac 上的 Command+F12),或单击 Opera 菜单并转至设置→首选项。单击“高级”选项卡,然后单击左侧边栏中的“安全性”,然后单击“安全协议”按钮。确保仅选中启用 TLS 1.2。

TLS 1.2 容易受到攻击吗?

TLS 1.2 中存在漏洞。尽管如此,研究人员表示它“很难被利用”,而且主要供应商已经为其发布了安全补丁。 TLS 1.3 是互联网上部署最广泛的安全协议的最新版本,它对数据进行加密以在两个端点之间提供安全的通信通道。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯