PowerShell ограничивает удаленные подключения (до 128 МБ для более старых версий). Вы можете увеличить этот лимит, используя Set-Item .\MaxMemoryPerShellMB
. Но это может не решить проблему для очень больших файлов.
Лучший вариант для тех, кто будет использовать биты
Пример:
$url = "http://files.net/test/file1.test"
$output = "$PSScriptRoot\file1.test"
$start_time = Get-Date
Import-Module BitsTransfer
Start-BitsTransfer -Source $url -Destination $output
***OR***
Start-BitsTransfer -Source $url -Destination $output -Asynchronous
Write-Output "Time taken: $((Get-Date).Subtract($start_time).Seconds) second(s)"
Поочередно попробуйте .Net.WebClient:
$url = "http://files.net/test/file1.test"
$output = "$PSScriptRoot\file1.test"
$start_time = Get-Date
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($url, $output)
***OR***
(New-Object System.Net.WebClient).DownloadFile($url, $output)
Write-Output "Time taken: $((Get-Date).Subtract($start_time).Seconds) second(s)"