En un intento descarado de robar algunos votos, SecurityProtocol
es un Enum
con el [Flags]
atributo. Entonces puedes hacer esto:
[Net.ServicePointManager]::SecurityProtocol =
[Net.SecurityProtocolType]::Tls12 -bor `
[Net.SecurityProtocolType]::Tls11 -bor `
[Net.SecurityProtocolType]::Tls
O como se trata de PowerShell, puede dejar que analice una cadena por usted:
[Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls"
Entonces técnicamente no necesita saber la versión TLS.
Copié y pegué esto desde un script que creé después de leer esta respuesta porque no quería pasar por todos los protocolos disponibles para encontrar uno que funcionara. Por supuesto, podrías hacer eso si quisieras.
Nota final: tengo la declaración original (menos las ediciones SO) en mi perfil de PowerShell, por lo que está en cada sesión que comienzo ahora. No es totalmente infalible ya que todavía hay algunos sitios que simplemente fallan, pero seguramente veo el mensaje en cuestión con mucha menos frecuencia.