powershell - 如何通过 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 是否可从操作系统获得,或者是否已通过管理员组策略配置禁用。
有谁知道如何做到这一点?任何帮助将不胜感激。网上关于这个主题的信息不是很好。
解决方案
使用以下内容:
$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
}
推荐阅读
- django - 如何动态地将自定义字段添加到 django-serializer?
- xml - 无法解析架构 xsd
- javascript - Firestore 安全规则中的数组比较
- go - 多个语句优于因式导入语句的情况?
- vb.net - Deep copy a CUSTOM treenode
- php - 我应该使用什么样的连接,或者我应该为此制作模型?
- sas - 如何在没有标题的上游平面文件中发生结构更改后生成新的导入代码?
- python - 用 Pandas 处理缺失的分类值?
- r - 重命名 index.Rmd 时“找不到站点生成器”
- python - 为什么我在 python 3.7.3 中收到 urlopen no attribute 错误?