0 Pluspunkte 0 Minuspunkte

Ich möchte mit Powershell eine Liste der Bridge Interfaces aus der Sophos (UTM 9) API abrufen.

$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Authorization", "Basic xxxxxxxxxxxxx")

$response = Invoke-RestMethod 'https://xx.xx.xx.xx:4444/api/objects/interface/bridge' -Method 'GET' -Headers $headers

$response | ConvertTo-Json

Dabei bekomme ich aber die Fehlermeldung

Invoke-RestMethod : Die zugrunde liegende Verbindung wurde geschlossen: Für den geschützten SSL/TLS-Kanal konnte keine Vertrauensstellung hergestellt werden..

In Zeile:4 Zeichen:13

+ $response = Invoke-RestMethod 'https://xx.xx.xx.xx:4444/api/objects/in ...
+             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

In Postman funktioniert die Abfrage ohne Probleme aber wie kann ich das in Powershell machen?

von  

2 Antworten

0 Pluspunkte 0 Minuspunkte

Du kannst versuchen TLS auf Version 1.2 festzusetzen.

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

oder die Zertifikatsprüfung deaktivieren.

[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }
von (728 Punkte)  
0 Pluspunkte 0 Minuspunkte

Du kannst diesen Code am Beginn deines Script einfügen, damit gibt die Zertifikatsprüfung immer true zurück.

Add-Type @"
    using System;
    using System.Net;
    using System.Net.Security;
    using System.Security.Cryptography.X509Certificates;
    public class ServerCertificateValidationCallback
    {
        public static void Ignore()
        {
            ServicePointManager.ServerCertificateValidationCallback += 
                delegate
                (
                    Object obj, 
                    X509Certificate certificate, 
                    X509Chain chain, 
                    SslPolicyErrors errors
                )
                {
                    return true;
                };
        }
    }
"@
[ServerCertificateValidationCallback]::Ignore();
von (944 Punkte)