Я попробовал следующее

Invoke-WebRequest -Uri " https://download.microsoft.com/download/6/4/8/648EB83C-00F9-49B2-806D-E46033DA4AE6/ExchangeServer2016-CU1.iso " -OutFile "Exchange.iso"

Но это не с "OutOfMemory".

Затем я попытался -TransferEncoding "chunked", который говорит мне, что я должен сначала установить свойство "SendChunked".

Документация не говорит, как, где и когда установить это свойство ...

1 ответ1

0

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)"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .