powershell – download file from server via https which has a self signed certificate

the problem:

when I was trying to “wget” a file using $webClient.DownloadFile from a server with a self signed certificate it failed when using the following code:

$webClient = new-object System.Net.WebClient
$webClient.DownloadFile( $url, $path )

 

the resource:

searching for a solution i stumpled upon http://blogs.technet.com/b/heyscriptingguy/archive/2010/07/25/windows-powershell-invalid-certificates-and-automated-downloading.aspx

there you will read that all it takes is to set the following just before you download the file …

[Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}

the solution:

the complete script then would be something like:

$url = "https://server/file.ext"
$path = "c:\downloads\file.ext"
[Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
$webClient = new-object System.Net.WebClient
$webClient.DownloadFile( $url, $path )