我尝试使用Invoke-RestMethod进行调用,但我正在连接的服务器有自签名证书。
经过一番搜索,我发现我需要运行以下命令才能使其正常工作:
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = ${true}
我几天前做过这个,然后我的Invoke-RestMethod调用开始工作。
然后我重新启动了我的服务器并尝试再次执行相同的操作,但现在我收到以下错误:
PS C:\ Users \ Administrator> [System.Net.ServicePointManager] :: ServerCertificateValidationCallback = $ True 异常设置“ServerCertificateValidationCallback”:“无法将值”True“转换为类型 “System.Net.Security.RemoteCertificateValidationCallback”。错误:“来自'System.Boolean'的无效转换为 'System.Net.Security.RemoteCertificateValidationCallback'。 “” 在行:1个字符:1 + [System.Net.ServicePointManager] :: ServerCertificateValidationCallback = $ True + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:NotSpecified:(:) [],SetValueInvocationException + FullyQualifiedErrorId:ExceptionWhenSetting 块引用
我尝试将执行策略设置为不受限制但我仍然遇到同样的问题。
我在使用PSVersion 3.0的Windows Server 2012上运行。
我不知道为什么之前有效。我很确定我之前没有做过什么特别的事。
我会很感激任何建议!
答案 0 :(得分:0)
我终于找到了一个具有以下命令的网站:
[Net.ServicePointManager]::ServerCertificateValidationCallback = ${true}
请注意'系统'。不见了。
运行此命令按预期工作。