问题
在运行使用Invoke-WebRequest 的 PowerShell 脚本时,可能会出现以下错误:

解决方案
- 临时
- 永久
要在当前会话中快速修复此问题,你可以在 PowerShell 会话中运行以下命令以启用必要的协议:但是,此修复是临时的,需要在每个新的 PowerShell 会话中重新应用。
注册表项说明
| 注册表设置 | 描述 |
|---|---|
| SchUseStrongCrypto | 强制 .NET Framework 使用强加密协议(例如 TLS 1.2)。 |
| SystemDefaultTlsVersions | 确保 .NET 应用程序使用系统默认的 TLS 版本,使其能够适应较新的协议。 |
如果错误仍然存在
如果错误仍然存在,请考虑采取以下措施,以确保所有 .NET 应用程序都能安全连接,而无需在每个会话中手动干预:- 确保你的系统支持 TLS 1.2,并已在操作系统中启用。
- 升级到 PowerShell Core 或 PowerShell 7,它们默认使用现代安全协议。