尝试 -SkipCertificateCheck 时 Powershell iwr 失败

标签 powershell

使用 (版本 5.1.18362.145)并尝试使用 Invoke-WebRequest使用 -SkipCertificateCheck 时失败.

我不知道该怎么做,因为它似乎记录在 msdn 上。 .我试过运行 Update-Module以防万一模块是旧版本,但尚未解决问题。

命令:

iwr -SkipCertificateCheck google.com -UseBasicParsing -Method Head

Error:


Invoke-WebRequest : A parameter cannot be found that matches parameter name 'SkipCertificateCheck'

At line:1 char:5
+ iwr -SkipCertificateCheck google.com -Method Head
+     ~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Invoke-WebRequest], ParameterBindingException
    + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.InvokeWebRequestCommand`

有谁知道如何获取 Invoke-WebRequest 不检查证书就可以工作?

这样做的总体目标是使用 Invoke-WebRequest 使用具有自签名证书的站点。

最佳答案

SkipCertificateCheck不适用于 5.1 ,您很可能正在查看错误版本的 PowerShell。这是用于不受信任证书的常见解决方法。

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
Invoke-WebRequest https://expired.badssl.com/

关于尝试 -SkipCertificateCheck 时 Powershell iwr 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59924142/

相关文章:

regex - 从 powershell 正则表达式匹配中提取值

powershell - 如何在 Powershell 中为命令 "ls -lrt"设置别名

scripting - 列出IIS6服务器场中所有已停止的应用程序池

powershell - 从 PowerShell 选择对象结果中删除列名称

Powershell : Use a Select-Object expression with a string

powershell - 同时从不同的 Azure 订阅检索某些内容

powershell - 无法使用 FileInfo 从二进制模块通过管道传输到 Get-Content

regex - 具有排除模式的 Powershell 正则表达式 (guid)

windows - PowerShell 脚本 "Get-VMHost Hardware.SystemInfo.OtherIdentifyingInfo"将返回 2 个服务标记值

arrays - 从配置文件创建Powershell菜单