首页 > 解决方案 > 如何通过 PowerShell 确认 TLS 1.2 在操作系统上可用?

问题描述

在 Windows Server 2016 中,可以通过组策略禁用 TLS 1.2。

我们想在 PowerShell 中为我们的安装程序脚本添加一个检查,以查看 TLS 1.2 是否可用。请注意,这与检查 URL 是否使用 TLS 1.2 或当前 PowerShell 会话中是否启用了 TLS 1.2 不同。我们想检查 TLS 1.2 是否可从操作系统获得,或者是否已通过管理员组策略配置禁用。

有谁知道如何做到这一点?任何帮助将不胜感激。网上关于这个主题的信息不是很好。

标签: powershelltls1.2

解决方案


使用以下内容:

$available = try {
  $orig = [Net.ServicePointManager]::SecurityProtocol
  [Net.ServicePointManager]::SecurityProtocol = 'Tls12'
  [bool] [System.Net.WebRequest]::Create('https://example.org/')
} catch {
  $false
} finally {
  [Net.ServicePointManager]::SecurityProtocol = $orig
}

推荐阅读