Lädt man via Invoke-WebRequest in der PowerShell etwas herunter, fällt spätestens bei größeren Dateien auf, das dies ungewöhnlich lange dauert bzw. die Performance eher mäßig ist.

Setzt man vor dem obigen Cmdlet folgendes, geht es viel schneller:

$ProgressPreference = 'SilentlyContinue'

Alternativ kann man ThirdParty-Tools wie wget oder das mittlerweile in Windows integrierte curl nutzen:

wget <URL> -O <LokalerDateiname>
curl.exe --output <LokalerDateiname> "<URL>"

Update 18.09.2025

Als Einzeiler für Batch kann der PowerShell-Befehl so aussehen:

powershell.exe $progressPreference = 'silentlyContinue'; Invoke-WebRequest '<URL>' -OutFile '<LokalerDateiname>'

Update 26.09.2025

Invoke-RestMethod ist ebenfalls von diesem Thema betroffen und kann durch das Weglassen des Fortschritts beschleunigt werden:

powershell.exe $progressPreference = 'silentlyContinue'; Invoke-RestMethod '<URL>' -OutFile '<LokalerDateiname>'

By the way:

Start-BitsTransfer scheint mit dem Fortschritt keine Performance-Probleme zu haben. Deaktivieren kann man ihn dennoch, wenn man es möchte:

powershell.exe Start-BitsTransfer -Source "<URL>" -Destination "C:\Temp\<LokalerDateiname>"

powershell.exe $progressPreference = 'silentlyContinue'; Start-BitsTransfer -Source "<URL>" -Destination "C:\Temp\<LokalerDateiname>"

Wie hat Dir der Artikel gefallen ?

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Bislang keine Stimmen erhalten.)
Loading...

Du möchtest den Blog unterstützen ?

Neben PayPal.ME gibt es noch weitere Möglichkeiten, lies hier wie du diesen Blog unterstützen kannst.


Quellen

Microsoft Learn – PowerShell – about_Preference_Variables

stackoverflow – Powershell – Why is Using Invoke-WebRequest Much Slower Than a Browser Download?