Application Insights powershell 命令行无法使用 TLS 1.2

Application Insights powershell 命令行无法使用 TLS 1.2

我有一台 Windows Server 2012 R2 服务器,除 TLS 1.2 之外的所有协议均已禁用。当我尝试使用 powershell 命令行程序执行 Application Insights 时,它会获取 nuget 包并失败。
我创建了一个脚本,在运行命令之前明确设置了协议,但似乎命令行程序是针对 .NET 4.5 或更低版本编写的,并使用默认协议选择方案,将其限制为 TLS 1.0。

Import-Module 'C:\Program Files\Microsoft Application Insights\Status Monitor\PowerShell\Microsoft.Diagnostics.Agent.StatusMonitor.PowerShell.dll'

#fails on server that requires TLS 1.2
Invoke-WebRequest "https://packages.nuget.org/api/v2"

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

#works on server that requires TLS 1.2
Invoke-WebRequest "https://packages.nuget.org/api/v2"

#fails under both conditions
Get-ApplicationInsightsMonitoringStatus 

如何让 App Insights powershell 命令在仅启用了 TLS 1.2 的服务器上运行?

答案1

您需要通过注册表为 .NET Framework 启用 TLS 1.2。

在 .NET Framework 4.5 或更高版本中启用强加密

相关内容