Powershell-Skript zum Download-Datei, Probleme, einen sicheren Verbindungsaufbau mit

StackOverflow https://stackoverflow.com/questions/146973

  •  02-07-2019
  •  | 
  •  

Frage

Ich mache ein automatisiertes Skript eine Liste von einer Website lesen Sie den neuesten kompilierten Code veröffentlichen. Das ist der Teil ich schon gedacht habe aus. Der nächste Teil des Skripts ist, dass die kompilierten Code von einem Server mit einem nicht vertrauenswürdigen Cert zu greifen.

Dies ist, wie ich packt die Datei werde:

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

Dann bekomme ich folgende Fehlermeldung:

  

Ausnahme calling "Downloadfile" mit "2" Argumente (e): „Die zugrunde liegenden   Verbindung wurde geschlossen: Es konnte keine Vertrauensbeziehung für die etablieren   SSL / TLS sichere Kanal. "

Ich weiß, ich bin etwas fehle, aber ich kann nicht den richtigen Weg für sie suchen erhalten.

War es hilfreich?

Lösung

Sie benötigen einen Callback-Handler für Servicepoint schreiben .ServerCertificateValidationCallback .

Andere Tipps

Brad ist richtig, aber feststellen, dass Powershell V1 nicht wirklich hat native Unterstützung für die Teilnehmer, die Sie in diesem speziellen Fall benötigen. Ich glaube, das sollte bekommen um dieser Beschränkung ( in der Tat ist genau das Szenario, das Sie beschreiben eines der Beispiele verwendet wird).

Wenn Sie Powershell verwenden und diesen Fehler konfrontiert. Verwenden Sie den Befehl:

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

, bevor das Paket herunterzuladen. Es zwingt PS TLS zu verwenden 1.2.

Der Grund für das Scheitern könnte die Website sein, von dem Sie herunterladen möchten hat die Unterstützung für TLS 1.0 deaktiviert die PS standardmäßig verwendet.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top