1st Method:
$source = "https://www.7-zip.org/a/7z1900-x64.exe"; $dest = "C:\Temp\7z1900-x64.exe"; [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 $WebClient = New-Object System.Net.WebClient; $WebProxy = New-Object System.Net.WebProxy("http://proxy:8080",$true); $Credentials = (New-Object Net.NetworkCredential("USERNAME","PASSWORD","domain.com")).GetCredential("http://proxy","80", "KERBEROS"); #$Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials $WebProxy.Credentials = $Credentials; $WebClient.Proxy = $WebProxy; $WebClient.DownloadFile($source,$dest);Alternative Methods:
New-Item -ItemType Directory -Force -Path C:\Temp # Create Temp folder if it doesn't already exist $proxy="http://proxy:8080"; $exclusionList="localhost;*.domain.local;10.*"# Set winhttp proxy for PowerShell
netsh winhttp set proxy $proxy $exclusionList# Prepare PowerShell to Use Default Credentials
[system.net.webrequest]::defaultwebproxy = New-Object system.net.webproxy($proxy) [system.net.webrequest]::defaultwebproxy.credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials [system.net.webrequest]::defaultwebproxy.BypassProxyOnLocal = $true [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12# Download using the most efficient method
$url = "https://www.7-zip.org/a/7z1900-x64.exe" $temp = "C:\Temp\7z1900-x64.exe" Import-Module BitsTransfer Start-BitsTransfer -Source $url -Destination $tempOr:
$source = "https://www.7-zip.org/a/7z1900-x64.msi"; $dest = "C:\Temp\7z1900-x64.msi"; $browser = New-Object System.Net.WebClient $browser.Proxy.Credentials =[System.Net.CredentialCache]::DefaultNetworkCredentials; [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 $browser.DownloadFile($source,$dest);Or:
$source = "https://www.7-zip.org/a/7z1900-x64.msi"; $dest = "C:\Temp\7z1900-x64.msi"; [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 (new-object System.Net.WebClient).DownloadFile($source,$dest)Or:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 [Net.WebRequest]::DefaultWebProxy.Credentials = [Net.CredentialCache]::DefaultCredentials; ` iex ((New-Object Net.WebClient).DownloadString('https://www.7-zip.org/a/7z1900-x64.msi'))Or:
$page = (new-object net.webclient) $page.UseDefaultCredentials = $True $Page.DownloadString('https://www.7-zip.org/a/7z1900-x64.msi')
No comments:
Post a Comment