У безсоромною спробі вкрасти кілька голосів, SecurityProtocol
це Enum
з [Flags]
атрибутом. Тож ви можете це зробити:
[Net.ServicePointManager]::SecurityProtocol =
[Net.SecurityProtocolType]::Tls12 -bor `
[Net.SecurityProtocolType]::Tls11 -bor `
[Net.SecurityProtocolType]::Tls
Або оскільки це PowerShell, ви можете дозволити йому проаналізувати рядок для вас:
[Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls"
Тоді технічно вам не потрібно знати версію TLS.
Я скопіював і вставив це зі сценарію, який створив після прочитання цієї відповіді, тому що я не хотів переглядати всі доступні протоколи, щоб знайти той, який працював. Звичайно, ви могли це зробити, якщо хочете.
Підсумкове зауваження - у моєму профілі PowerShell є оригінал (мінус редагування SO), так що це відбувається в кожному сеансі, який я починаю зараз. Це не зовсім надійно, оскільки все-таки є деякі сайти, які просто не вдається, але я, безумовно, бачу це питання набагато рідше.