Powershell Invoke RestMethod在Powershell V3中正常工作,但在V4中失败

Powershell Invoke RestMethod在Powershell V3中正常工作,但在V4中失败,powershell,powershell-4.0,Powershell,Powershell 4.0,我有一个简单的PowerShell脚本,它在PowerShell V3.0中正常工作,但在V4.0中失败。以下是脚本: $url = "https://www.oanda.com/rates/api/v1/rates/USD.csv?quote=CNY&quote=EUR&quote=GBP&quote=KRW&fields=averages&api_key=Yv0C4DZ2rFOybbnGwzj7niFh" Invoke-RestMethod -Meth

我有一个简单的PowerShell脚本,它在PowerShell V3.0中正常工作,但在V4.0中失败。以下是脚本:

$url = "https://www.oanda.com/rates/api/v1/rates/USD.csv?quote=CNY&quote=EUR&quote=GBP&quote=KRW&fields=averages&api_key=Yv0C4DZ2rFOybbnGwzj7niFh"
Invoke-RestMethod -Method Get -Uri $url -OutFile "C:\output.csv"
当我第一次在V4.0上运行它时,它产生了如下错误

Invoke RestMethod:基础连接已关闭:无法 为SSL/TLS安全通道建立信任关系

我从不同的网站上搜索了类似的声明,并尝试了其他人说可行的解决方案:

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

它对我不起作用。

由于它是不同的powershell版本,我可以假定这是不同的机器,还是您在同一台机器上升级了powershell?它是另一台具有powershell v4的机器。如果您在浏览器中访问,是否有任何证书错误?顺便说一下,你可能想编辑掉你的API密钥并请求一个新的。不,我运行了浏览器,它从来没有显示任何问题。我认为这与powershell v4有关。顺便说一下,当我在现有代码上面添加以下行代码时,它会显示不同的错误消息。行代码是:[System.Net.ServicePointManager]::ServerCertificateValidationCallback={$true}。新的错误消息显示:Invoke RestMethod:基础连接已关闭;发送时发生意外错误。我在powershell v4中运行了您的示例代码,它可以正常工作。您在其他v4机器上试用过吗?在这一点上,我认为您可能需要运行数据包捕获。