Powershell Setting Security Protocol to Tls 1.2 [d

2019-02-19 16:51发布

问题:

This question already has an answer here:

  • Invoke-WebRequest SSL fails? 3 answers

I am using this code

        $WebClient = New-Object system.net.webclient
        $WebClient.credentials = New-Object System.Net.NetworkCredential -ArgumentList $username, $password
        $WebClient.Proxy = $null
        $WebClient.Headers.Add("COperation","MethodCall")
        $WebClient.Headers.Add("CMethod", "EnumerateInstances")
        $WebClient.Headers.Add("CObject", $NameSpace)
        $WebClient.Headers.Add("Content-Type", "application/xml")
        $System= $WebClient.UploadString($Url, "POST", $EnumMessage)

This works well. What I want to do is that set the Security Protocol to Tls1.2 or Tls1.1. Please help.

回答1:

setting this should change the protocol :

[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12;

PS : checked in powershell v5

Setting Multiple Security Protocols:

[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls11 -bor [System.Net.SecurityProtocolType]::Tls12;