Wenn eine Datei vom Cloud-Proxy auf einen Windows-Endpunkt heruntergeladen wird, kann sie aufgrund von Sicherheitsprotokollen fehlschlagen.

Problem

Der Skript-Download schlägt auf einer Windows-Plattform mit der folgenden Meldung fehl:
Die Anfrage wurde abgebrochen: Es konnte kein geschützter SSL/TLS-Kanal erstellt werden.
Es gibt drei Arten von PowerShell-Skripts, die im Cloud-Proxy gehostet werden und zu unterschiedlichen Zwecken auf die Windows-Endpunkt-VMs heruntergeladen und dort ausgeführt werden können:
  • So installieren Sie benutzerdefinierten Telegraf mithilfe eines Skripts (download.ps1).
  • So installieren Sie benutzerdefinierten Telegraf auf einem physischen Server (unmanagedagent_setup_sample.ps1).
  • So konfigurieren Sie Open Source Telegraf auf verwalteten oder nicht verwalteten VMs (open_source_telegraf_monitor.ps1).

Lösung

Ignorieren Sie ServerCertificateValidationCallback mithilfe des folgenden Befehls.
if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidationCallback').Type)
{
$certCallback = @"
    using System;
    using System.Net;
    using System.Net.Security;
    using System.Security.Cryptography.X509Certificates;
    public class ServerCertificateValidationCallback
    {
        public static void Ignore()
        {
            if(ServicePointManager.ServerCertificateValidationCallback ==null)
            {
                ServicePointManager.ServerCertificateValidationCallback +=
                    delegate
                    (
                        Object obj,
                        X509Certificate certificate,
                        X509Chain chain,
                        SslPolicyErrors errors
                    )
                    {
                        return true;
                    };
            }
        }
    }
"@
    Add-Type $certCallback
 }
[ServerCertificateValidationCallback]::Ignore()
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Nach dem Herunterladen und Ausführen des erforderlichen Skripts kann ServerCertificateValidationCallback aktiviert werden.