如何解决 - 底层连接已关闭 - 无法在 PowerShell 中为 SSL/TLS 安全通道建立信任关系?

当您运行 Invoke-WebRequest 或 Invoke-RestMethod 命令时,有时会收到错误“底层连接已关闭:无法为 SSL/TLS 安全通道建立信任关系”。因为可能存在证书问题或所需的 Windows 版本不支持 TLS 或 SSL 版本。您可以使用以下命令绕过此错误。

[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}

或者您可以使用以下代码来解决此错误。

示例

add-type @"
   using System.Net;
   using System.Security.Cryptography.X509Certificates;
   public class TrustAllCertsPolicy : ICertificatePolicy {
      public bool CheckValidationResult(
      ServicePoint srvPoint, X509Certificate certificate,
      WebRequest request, int certificateProblem) {
      return true;
   }
}
"@
[System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy