0

我在 PowerShell 脚本中调用 Invoke-RestMethod 以将 zip 存档上传到 Artifactory 存储库。我从本地机器 PowerShell ISE 测试了脚本;上传完成,没有预期的问题。但是,当我在预期的目标机器上执行脚本时,我看到返回错误:

请求被中止:无法创建 SSL/TLS 安全通道。

我已经阅读了许多与此错误相关的在线帖子;共识似乎是在脚本中的 Invoke-RestMethod 调用之前立即添加以下行:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12 -bor [Net.SecurityProtocolType]::Ssl3

我添加了这一行,但问题仍然存在。

执行以下 PowerShell:

[Net.ServicePointManager]::SecurityProtocol

返回:

Ssl3、Tls、Tls11、Tls12 表明所有可用协议都已启用。

我的脚本片段现在看起来像这样:

$headers = @{"X-JFrog-Art-Api" = $artifactoryApiKey}        
    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12 -bor [Net.SecurityProtocolType]::Ssl3

    $return=Invoke-RestMethod -Uri $uri -InFile $sourceFile -Method Put -Headers $headers

如上所述,这个脚本在我的本地机器上执行没有问题。

安装在服务器上的 .Net 4.6.1 返回错误。

4

0 回答 0