Eintrag

Der PS1-Download…

Wer suchte bisher nicht oft unter Windows nach einer einfachen Möglichkeit, eine Datei per http oder https herunterzuladen.

(new-object net.webclient).downloadfile("https://was.auch.immer/hier-die-datei.xml","c:\daten\a.cml")

Wenn es aber Probleme mit dem SSL Cert gibt, muss man tiefer in die Trickkiste greifen, siehe Ignoring SSL trusts in Powershell für die vollständige Beschreibung.

$netAssembly = [Reflection.Assembly]::GetAssembly([System.Net.Configuration.SettingsSection])

if($netAssembly)
{
$bindingFlags = [Reflection.BindingFlags] “Static,GetProperty,NonPublic”
$settingsType = $netAssembly.GetType(“System.Net.Configuration.SettingsSectionInternal”)

$instance = $settingsType.InvokeMember(“Section”, $bindingFlags, $null, $null, @())

if($instance)
{
$bindingFlags = “NonPublic”,”Instance”
$useUnsafeHeaderParsingField = $settingsType.GetField(“useUnsafeHeaderParsing”, $bindingFlags)

if($useUnsafeHeaderParsingField)
{
$useUnsafeHeaderParsingField.SetValue($instance, $true)
}
}
}

Und nun kann man auch bei nicht validierbaren Certs einen Download machen…

Dieser Eintrag ist vom Autor unter CC BY 4.0 lizensiert.