demande de rappel immédiat

Utiliser Background Intelligent Transfer Service en PowerShell

Posted by Jean-Paul Blanc Sunday, June 10, 2012 3:30:00 PM
Rate this Content 0 Votes

 

 

Background Intelligent Transfer Service (service de transfert intelligent en arrière-plan) est un composant des systèmes d'exploitation Microsoft Windows depuis 2001. Il est utilisé par Windows Update, WSUS (Windows Server Update Services), et System Center 2012 Configuration Manager.

Le service BITS transfère les fichiers de façon asynchrone au premier plan ou en arrière-plan.Par ailleurs, il reprend automatiquement les transferts de fichiers après des déconnexions réseau et le redémarrage d'un ordinateur. Les transferts en arrière-plan utilisent uniquement la bande passante réseau inactive afin de préserver l'expérience interactive de l'utilisateur avec d'autres applications réseau, telles qu'Internet Explorer. Pour ce faire, le service BITS examine le trafic réseau, puis utilise uniquement la partie inactive de la bande passante réseau. Le service BITS limite en permanence son utilisation de la bande passante à mesure que l'utilisateur augmente ou diminue son utilisation de celle-ci. Le service BITS effectue les transferts de façon asynchrone, ce qui signifie qu'il n'est pas nécessaire que votre programme ou script soit en cours d'exécution pour que le transfert ait lieu. Les transferts et téléchargements sont tous deux pris en charge. Le service BITS est particulièrement approprié pour la copie de fichiers à partir d'un emplacement HTTP dans un répertoire virtuel Internet Information Services vers le lecteur logique d'un client. Les opérations de copie de blocs SMB (Server Message Block) standard sont également prises en charge.

Windows PowerShell implémente les fonctionnalités BITS par le biais du module bitstransfer. Ce module charge un ensemble d'applets de commande qui permet d'exploiter BITS.

Le module bitstransfer

Pour avoir une vue d'ensemble des applets de commande publiées à travers le module bitstransfert.

PS C:\silogix> Import-Module BitsTransfer
PS C:\silogix> Get-Command -Module BitsTransfer

CommandType     Name                  Definition
-----------     ----                  ----------
Cmdlet          Add-BitsFile          Add-BitsFile [-BitsJob]  [-Source]  [...
Cmdlet          Complete-BitsTransfer Complete-BitsTransfer [-BitsJob]  [-Verbose] [-...
Cmdlet          Get-BitsTransfer      Get-BitsTransfer [[-Name] ] [-AllUsers] [-Verbos...
Cmdlet          Remove-BitsTransfer   Remove-BitsTransfer [-BitsJob]  [-Verbose] [-De...
Cmdlet          Resume-BitsTransfer   Resume-BitsTransfer [-BitsJob]  [-Asynchronous]...
Cmdlet          Set-BitsTransfer      Set-BitsTransfer [-BitsJob]  [-DisplayName  ...

 

Configuration de l'extension IIS du serveur BITS

Le serveur BITS étend les services Internet (IIS) pour prendre en charge, avec des capcités de reprise les téléchargements sur des réseaux chargées. Pour télécharger des fichiers sur un serveur à l'aide du service BITS, le serveur doit exécuter IIS 7.0 et Windows Server 2008. En outre, l'extension du serveur BITS pour ISAPI (Internet Server Application Programming Interface) doit être installée. L'extension du serveur BITS est un sous-composant d'IIS. Pour utiliser la fonctionnalité de téléchargement, il faut Créer un répertoire virtuel IIS sur le serveur où les clients désirent télécharger les fichiers

  • Créez un répertoire physique pour chaque type de client
  • Créez un répertoire virtuel pour chaque type de client
  • Autoriser les clients a télécharger des fichiers

Voici le rendu  de l'installation à partir du script Demo-PowerShell-Setup BITS IIS.txt passé dans l'outil de démonstration Start-demo-fr.ps1

Début démo :: Demo-PowerShell-Setup BITS IIS.txt>
Tapez ? pour l'aide.
[0]= # Importer le module Servermanager
[1]= Import-Module servermanager
[2]= # les commande diponibles
[3]= Get-Command -Module servermanager

CommandType     Name                       Definition
-----------     ----                       ----------
Cmdlet          Add-WindowsFeature         Add-WindowsFeature [-Name]  [-Include...
Cmdlet          Get-WindowsFeature         Get-WindowsFeature [[-Name] ] [-LogPat...
Cmdlet          Remove-WindowsFeature      Remove-WindowsFeature [-Name]  [-LogP...


[4]= # ajouter la fonctionalité "BITS-IIS-Ext"
[5]= Add-WindowsFeature BITS-IIS-Ext

Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
True    No             Success   {Outils du serveur Web (IIS), Console de g...


[6]= # importer le module de configuration du Web
[7]= import-module webadministration

[8]= # Création d'un répertoire physique
[9]= New-Item -Path c:\BitsDirectory\Download -ItemType directory -force


    Répertoire : C:\BitsDirectory


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----        13/06/2012     16:06            Download


[10]= # création d'un répertoire virtuel
[11]= New-Item 'IIS:\Sites\Default Web Site\download' `
               -type VirtualDirectory `
               -physicalPath c:\BitsDirectory\Download

Name                                                        PhysicalPath
----                                                        ------------
download                                                    c:\BitsDirectory\Download


[12]= # Autorise le téléchargement BITS sur le dossier de téléchargement
[13]= $root = new-object system.directoryservices.directoryentry`
              ("IIS://127.0.0.1/W3SVC/1/Root/download")
[14]= $root.EnableBITSUploads()
[15]= Write-Host 'Fin'
Fin
<Démonstration terminée -- 28m 2s>
13/06/2012 16:10:01

 

Transfert depuis le client vers le serveur

 Création d'un job pour un upload synchrone d'un fichier.

PS C:\Silogix> Start-BitsTransfer -Source C:\temp\Geobase.bak 
                                  -Destination "http://WM2008R2ENT/download/Geobase.bak" 
                                  -TransferType upload 
                                  -Credential $cred
Comments are closed on this post.