Télécharger des fichiers à l’aide de BITS (Windows 7 et Windows 10)

Intérêt ?

Vous souhaitez télécharger un gros fichier (plusieurs GB) mais sans surcharger le lien ? Le transfert BITS est fait pour vous (et ce script aussi).

Avantage :

  • Gestion par queue
  • Taux de transfert modifiable
  • Soumis à la QOS
  • Capacité de reprise (si le serveur en face l’accepte)
  • Téléchargement de fichiers / dossiers sous dossier etc
  • Possible téléchargement multiple.

Inconvénient :

  • Pas « user-friendly »

Téléchargement standard :

saturation de la bande passante

Téléchargement BITS :

téléchargement par « pic », ne saturant plus le lien.

Le script :

Dans cette exemple, nous allons télécharger une ISO Ubuntu de quelques giga (voir la variable $source)
Une fois le téléchargement complété, cette ISO sera ensuite stockée dans un répertoire (voir la variable $destination)

Concernant la source, elle peut être :
– Un fichier (dans un répertoire réseau ou sur internet)
– Un répertoire avec des fichiers (dans un répertoire réseau)

Concernant la destination, elle DOIT être :
– Si on récupère un fichier, la destination DOIT être un fichier. Par exemple, si on télécharge un ISO, la destination doit être C:\XXX\XXX\monfichier.iso
– Si on récupère un répertoire/sous répertoire, la destination DOIT être un répertoire.


Les clefs de registre du début sont là pour configurer BITS (débits et mode) Pour le moment, je n’ai pas trouvé d’autres moyens (si quelqu’un à une idée… :p )

Version avec Proxy :

#Configuration de BITS.
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS" /v EnableBITSMaxBandwidth /t REG_DWORD /d 1 /f
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS" /v MaxBandwidthValidFrom /t REG_DWORD /d 8 /f
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS" /v MaxBandwidthValidTo /t REG_DWORD /d 17 /f
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS" /v MaxTransferRateOffSchedule /t REG_DWORD /d 90000 /f #valeur à modifier pour brider (en Kbit/s)
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS" /v MaxTransferRateOnSchedule /t REG_DWORD /d 90000 /f #valeur à modifier pour brider (en Kbit/s)
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS" /v UseSystemMaximum /t REG_DWORD /d 0 /f

#Authentification Proxy
$ProxyCred = Get-Credential -Message "Proxy Auth"
$source = "http://mirrors.phx.ms/ubuntu-cd/18.04.2/ubuntu-18.04.2-desktop-amd64.iso" #exemple : "T:\XXXXX\XXXXX\macon.doc" ou "T:\XXXXX\XXXXX\*.*" pour copier l'ensemble des répertoires/fichiers
$destination = "C:\Tempo\ubuntu.iso" #exemple : "C:\temp\" ou "C:\temp\macon.doc"

Start-BitsTransfer -Source $source -Destination $destination -Priority low -ProxyUsage SystemDefault -ProxyAuthentication basic -ProxyCredential $ProxyCred -TransferType Download

Version sans proxy :

#Configuration de BITS.
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS" /v EnableBITSMaxBandwidth /t REG_DWORD /d 1 /f
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS" /v MaxBandwidthValidFrom /t REG_DWORD /d 8 /f
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS" /v MaxBandwidthValidTo /t REG_DWORD /d 17 /f
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS" /v MaxTransferRateOffSchedule /t REG_DWORD /d 90000 /f #valeur à modifier pour brider (en Kbit/s)
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS" /v MaxTransferRateOnSchedule /t REG_DWORD /d 90000 /f #valeur à modifier pour brider (en Kbit/s)
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS" /v UseSystemMaximum /t REG_DWORD /d 0 /f

$source = "http://mirrors.phx.ms/ubuntu-cd/18.04.2/ubuntu-18.04.2-desktop-amd64.iso" #exemple : "T:\XXXXX\XXXXX\macon.doc" ou "T:\XXXXX\XXXXX\*.*" pour copier l'ensemble des répertoires/fichiers
$destination = "C:\Tempo\ubuntu.iso" #exemple : "C:\temp\" ou "C:\temp\macon.doc"

Start-BitsTransfer -Source $source -Destination $destination -Priority low -TransferType Download

Lancement du script :

Vous devez être administrateur du PC pour pouvoir lancer le script.
Pensez aussi à faire un :

Set-ExecutionPolicy Unrestricted

… pour autoriser l’exécution des scripts.

Lors que vous lancerez le script, le téléchargement se lancera automatiquement, une « barre » de progression s’affichera aussi :

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *