2008-09-28 4 views
7

Ich mache ein automatisiertes Skript, um eine Liste von einer Website zu lesen, die den neuesten kompilierten Code veröffentlicht. Das ist der Teil, den ich bereits herausgefunden habe. Der nächste Teil des Skripts besteht darin, den kompilierten Code von einem Server mit einem nicht vertrauenswürdigen Zertifikat abzurufen.Powershell-Skript zum Herunterladen der Datei, Probleme beim Einrichten einer sicheren Verbindung

Dies ist, wie ich packte die Datei werde:

$web = new-object System.Net.WebClient 
$web.DownloadFile("https://uri/file.msi", "installer.msi") 

Dann bekomme ich folgende Fehlermeldung:

Exception calling "DownloadFile" with "2" argument(s): "The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel."

Ich weiß, ich bin etwas fehlt, aber ich kann nicht erhalten Sie den richtigen Weg, um danach zu suchen.

Antwort

3

Sie müssen einen Rückrufhandler für ServicePointManager.ServerCertificateValidationCallback schreiben.

+0

Das ist richtig. Ich musste eine ConsoleApp erstellen, um mir das zu ermöglichen. Ich konnte meinen Verstand nicht mehr besiegen, wenn ich es in Powershell herausfinden musste. –

4

Brad ist richtig, aber beachten Sie, dass PowerShell V1 nicht wirklich native Unterstützung für Delegaten hat, die Sie in diesem speziellen Fall benötigen. Ich glaube, das sollte get you around diese Einschränkung sein (in der Tat ist das Szenario, das Sie beschreiben, genau eines der verwendeten Beispiele).

Verwandte Themen