Windows PowerShell – The underlying connection was closed: An unexpected error occurred on a send.
After changing the default TLS version on a server to TLS version 1.2, I immediately experienced an error with the Windows PowerShell Invoke-WebRequest method.
Invoke-WebRequest : The underlying connection was closed: An unexpected error occurred on a send. At line:1 char:1 + Invoke-WebRequest -UseBasicParsing https://whatever/process... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], Web on + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
To resolve this issue I used the following line before invoking Invoke-WebRequest:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12
The will allow the use of TLS versions 1.1 and 1.2
Don’t forget to add a semi colon between the new line and your Invoke-WebRequest method if concatenating them.