TLS and PowerShell

In December 2017 Interact disabled support for TLS 1.0.

TLS1.0 is a relatively old technology and has several vulnerabilities that necessitated removing support for TLS1.0 and requiring connections to use TLS1.1 or TLS1.2.

For most people this will have had no effect, however any customers who are using PowerShell to automate tasks such as General Profile Sources for XML imports, or Profile Pictures will see an error. Powershell by default will always try and connect using TLS1.0 and so any attempt to connect will result in the following error.

❗️

The underlying connection was closed: An unexpected error occurred on a send.

Fortunately, there's a very straightforward fix that requires a single line of code and instructs PowerShell to use TLS1.2. This will need to be added to any PowerShell script that is connecting to any of the Interact APIs before any network communication is required. Usually at the top of a script is fine.

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