Kategorien
Scripte

Was ist denn bitte BITS?

Der Background Intelligent Transfer Service (BITS) ist eine Softwarekomponente in neueren Versionen von Microsoft Windows zur Übertragung von Daten via HTTP.

CSS Programming Image

Einführung

Der Background Intelligent Transfer Service (BITS) ist ein Windows-Systemdienst, der entwickelt wurde, um den Datentransfer im Hintergrund zwischen einer Windows-Maschine und einer Remote-Serveranwendung zu ermöglichen.

BITS ermöglicht es, dass große Dateien und Softwareupdates im Hintergrund heruntergeladen werden, ohne dass die Benutzeraktivität gestört wird.

Verwendet werden kann BITS, um Dateien über HTTP-, HTTPS- und FTP-Protokolle zu übertragen und wird häufig von Windows Update, Microsoft Exchange Server, System Center Configuration Manager und anderen Windows-Diensten verwendet.

Auch von Drittanbieter-Anwendungen wird BITS genutzt, um Datenübertragungen im Hintergrund durchzuführen.

Verwendet wird eine Technologie namens „intelligente Übertragung“, um Bandbreitenengpässe zu vermeiden und sicherzustellen, dass der Download auch bei Unterbrechungen oder Netzwerkausfällen fortgesetzt werden kann.

Durch BITS wird eine Datei in kleinere Teile aufgeteilt. Die Übertragung erfolgt dann in Paketen. Falls es zu einer Unterbrechung der Verbindung kommt, wird der Download nicht unterbrochen, sondern einfach an der Stelle fortgesetzt, an der er unterbrochen wurde.

BITS priorisiert auch den Datentransfer basierend auf der Benutzeraktivität und stellt sicher, dass der Download nur stattfindet, wenn das Netzwerk nicht ausgelastet ist, um andere wichtige Aufgaben nicht zu beeinträchtigen.

Der Dienst wird hauptsächlich von Windows Update, Microsoft Update, Windows Server Update Services und Systems Management Server verwendet. Hiermit können Software-Updates oder auch paketierte und bereitgestellte Software verteilt werden.

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 gut 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 von möglichen Used Cases.

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, bietet aber bei genauerem Hinsehen gerade im WEB Umfeld unglaubliche Möglichkeiten. Viel Erfolg damit!

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert