Einführung
Der Background Intelligent Transfer Service (BITS) ist eine Softwarekomponente in neueren Versionen von Microsoft Windows zur Übertragung von Daten via HTTP.
Das Ganze erfolgt im Hintergrund. Für die Datenübertragung nutzt BITS ungenutzte Netzwerkressourcen, so dass der Durchsatz anderer Netzwerkaktivitäten nicht negativ beeinflusst sein sollte.
Der Dienst wird hauptsächlich von Windows Update, Microsoft Update, Windows Server Update Services und Systems Management Server verwendet, um Software-Updates oder auch paketierte und bereitgestellte Software zu verteilen.
Darüber hinaus wird er z.B. von Antivirenprogrammen zum Laden von Signaturdateien verwendet. BITS kann über eine COM-Schnittstelle angesprochen werden, so dass der Zugriff von einer Vielzahl von Programmiersprachen aus möglich ist.
Vorteile von BITS-Transfer Jobs
- Job kann nach einem Neustart fortgesetzt werden.
- Transfer fungiert über HTTP.
- Perfekt für Datentransfer über eine langsame Leitung.
- Zuverlässiger Dateitransfer
Beispiel 1: Abrufen aller BitsJob-Objekte, die dem aktuellen Benutzer gehören
Get-BitsTransfer
Beispiel 2: Abrufen des BitsJob-Objekts mit der Job-ID
Get-BitsTransfer -JobId xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Beispiel 3: Abrufen mit dem Parameter „AllUsers“, besitzt der ausführende Benutzer keine administrativen Anmeldeinformationen, so erfolgt eine Fehler.
Get-BitsTransfer -AllUsers
Interessant ist ein Kopierbefehl wie:
Start-BitsTransfer -Source <\\share\folder\*> -Destination <\\share\folder\>
Anzeigen aller aktiven Jobs in lesbarer Anzeige
Get-BitsTransfer | Format-Table -Wrap -AutoSize
Löschen eines Jobeintrages
Get-BitsTransfer -JobId <JobId> | Remove-BitsTransfer
Fortsetzen eines BITS-Transfer-Jobs
Get-BitsTransfer -JobId <JobId> | Resume-BitsTransfer
Wenn ein Auftrag noch aktiv ist, kann er mit dem Set-BitsTransfer-Cmdlet mit den neuen Einstellungen aktualisiert werden. Im folgenden Beispiel wird der Auftrag von „Normal“ (urprünglich gesetzt) auf „Vordergrund“ gesetzt.
Set-BitsTransfer -Priorität ‘Vordergrund’
Es gibt hier interessante Ansätze um eine Lösung zu diversen Aufgaben zu erreichen.
Gerade im Hinblick auf die Verwendung ungenutzer Netzwerkressourcen. Auch die Möglichkeit des Stop-Start auch nach einem Neustart des Systems bietet Raum zur Anwendung.
Mit Sicherheit wird niemand nur mit dieser Methode arbeiten. Ein potenzieller Ersatz für herkömmliche Windows-Programme wie Robocopy kann BITS nicht sein. Aber es hält sich an die PowerShell Methodik und ist damit nahtlos in bestehende Automatisierungen und Skripte integrierbar.
Insgesamt ist das Feature nicht allzu bekannt, biete aber bei genauerem Hinsehen gerade im WEB Umfeld unglaubliche Möglichkeiten. Viel Erfolg damit!