BITS Commands

Last modified by Sabrina V. on 2024/10/14 06:28

Über die BITS Commands können Downloads sowie Uploads von Dateien über den BITS (Background Intelligent Transfer Service) verwaltet werden. Dabei werden die Downloads/Uploads als einzelne Jobs verwaltet. Bei der Übertragung von Dateien führt der BITS automatisch ein Loadbalancing durch, sodass die produktive Arbeit mit Netzressourcen ohne Performance-Einbußen möglich bleibt.

Um einen Download oder Upload von Dateien per BITS durchzuführen, sind mindestens die Kommandos Add job, Add file(s) to job, Resume job und Complete job erforderlich. Alle weiteren Kommandos können optional eingesetzt werden.

Add job

Add Job

Für weitere Informationen über den BITS lesen Sie bitte den Artikel unter: http://msdn.microsoft.com/en-us/library/bb968799(VS.85).aspx

Add job

Mit diesem Kommando kann ein neuer BITS-Job erstellt werden. Erst über einen solchen Job kann ein Download bzw. Upload über den BITS durchgeführt werden.

Geben Sie zunächst an, ob der Job einen Download oder einen Upload verwalten soll. Upload-Jobs können vom BITS aus nur eine einzige Datei hochladen. Anschließend geben Sie dem Job einen eindeutigen Namen.

Zuletzt erstellen Sie eine Variable, welche Sie auswählen. In dieser Variablen wird die Job-ID gespeichert. Über diese ID können weitere BITS-Commands auf diesen Job zugreifen und ihn verwalten.

Add file(s) to job

Mit diesem Kommando können einem Job Dateien, welche übertragen werden sollen, zugeordnet werden. Diese Dateien werden später durch den Job von einem Server herunter- oder auf einen Server hoch geladen.

Add file(s) to job
Add file(s) to job

Geben Sie zunächst die Job-ID von dem Job an, dem Sie die Dateien zuordnen wollen. Anschließend geben Sie für jede Datei den lokalen Speicherort und den Speicherort auf einem Server an. Dabei muss auch der Dateiname auf dem Zielsystem angegeben werden.

Über die nebenstehenden Button lassen sich zusätzliche Dateien hinzufügen oder entfernen.

Resume job

Mit diesem Kommando wird ein Job gestartet, welcher die angegebenen Dateien (siehe Add file(s) to job) überträgt. Dazu geben Sie zunächst die Job-ID des entsprechenden Jobs an. Anschließend haben Sie zwei Optionen zur Verfügung:

  • Wählen Sie die Option Warte auf vollständige Übertragung, wird das Client Command erst fortgesetzt, wenn alle Dateien übertragen wurden. Ansonsten wird das Client Command direkt fortgesetzt.
  • Die zweite Option gibt einen Fehler aus, falls bei der Datenübertragung ein Fehler auftritt.

Complete job

Dieses Kommando sorgt dafür, dass der angegebene Job (per Job-ID) korrekt abgeschlossen wird. Es sollte stets am Ende eines Jobs ausgeführt werden, um Komplikationen mit dem BITS zu vermeiden.

Cancel job

Mit diesem Kommando können Sie einen Job abbrechen. Dazu geben Sie einfach die Job-ID des entsprechenden Jobs an. Alle Kommandos, die sich nachträglich auf den Job beziehen, der mit diesem Kommando abgebrochen wird, geben einen Fehler aus, da der Job nicht mehr existiert.

Das Kommando Complete job muss ebenfalls nicht mehr ausgeführt werden.

Suspend job

Mit diesem Kommando können Sie die Ausführung eines Jobs unterbrechen. Dazu geben Sie die Job-ID des entsprechenden Jobs an. Eine Wiederaufnahme des Jobs ist mit dem Kommando Resume job möglich.

Get job priority

Über dieses Kommando erhalten Sie eine Angabe über die aktuelle Priorität des angegebenen Jobs (Job-ID). Die Priorität wird als Integer-Wert in einer anzugebenden Variable gespeichert, welche folgende Werte annehmen kann:        

0 = Vordergrund, 1 = Hoch, 2 = Normal, 3 = Niedrig

Set job priotity

Über dieses Kommando können Sie dem angegebenden Job (Job-ID) eine neue Priorität zuweisen. Wählen Sie dazu die entsprechende Priorität (Vordergrund, Hoch, Normal, Niedrig) über eine DropDown-Liste aus. Standardmäßig ist die Priorität auf Normal eingestellt.

Get job infos

Über dieses Kommando können Sie verschiedene Informationen über den angegebenen Job (Job-ID) in einer Variablen speichern lassen. Die Variable beinhaltet anschließend folgende Daten:

Name

Deskription

JobType

Owner

State

Der Name des Jobs (Add job).

Eine Beschreibung des Jobs.

Der Typ ist DownloadJob oder UploadJob.

Die SID des Benutzers, der diesen Job erstellt hat.

siehe http://msdn.microsoft.com/en-us/library/aa362809(VS.85).aspx

Auf die Daten kann über die Variable in folgendem Format zugegriffen werden:

%VariablenName.Information%

Get Notify Command Line

Mit diesem Kommando können Sie die Benachrichtigungsparameter auslesen, die evtl. für einen Job gesetzt sind (siehe Set Notify Command Line). Dazu geben Sie die Job-ID des Jobs an, dessen Parameter Sie auslesen möchten. Die Daten werden in einer Programmvariable sowie einer Parametervariable gespeichert, die Sie angeben müssen. Auf Grund der Architektur des BITS ist in der Parametervariablen am Anfang nochmals der Inhalt der Programmvariable in Anführungszeichen zu finden, wonach erst die Parameter aufgeführt sind.

Set Notify Command Line

Mit diesem Kommando können Sie ein lokales Programm bzw. Skript oder ein Client Command angeben, welches automatisch aufgerufen wird, sobald der Job den Status BG_JOB_STATE_ERROR oder BG_JOB_STATE_TRANSFERED erreicht.

Set Notify Command Line
Set Notify Command Line

Falls Sie eine Unterscheidung zwischen den beiden Status vornehmen müssen, muss dies manuell in dem entsprechenden Programm/Skript oder dem angegebenen Client Command geschehen, da BITS selbst keinen Unterschied macht. Dafür können Sie die Job-ID als Parameter an das Programm/Skript oder das Client Command übergeben. Mit Hilfe des Tools BITSAdmin können Sie dann über die Job-ID den letzten Status abfragen. Evtl. benötigen Sie dazu ein zusätzliches Skript, welches die Unterscheidung treffen kann und anschließend erst das eigentliche Programm aufruft.

Hinweis  Note:  

Weitere Informationen zu dem Tool BITSAdmin finden Sie unter folgender http://msdn.microsoft.com/en-us/library/aa362813(VS.85).aspx

Hinweis  Note:  

Das Client Command wartet nicht bis zur vollständigen Ausführung des angegebenen Programms/Skript oder Client Commands. Daher ist es nicht empfehlenswert, dort über die Job-ID und BITSAdmin auf den Job zuzugreifen, da die Gefahr besteht, dass der Job über das Kommando Complete Job zuvor abgeschlossen wurde. Eventuell hilft hier das Kommando Wait for Process aus dem Kapitel Kategorie Processes and Shell weiter.

Set Credentials

Mit diesem Kommando können Sie dem Job Anmeldeinformationen übergeben, falls diese für den Server oder einen Proxy benötigt werden.

Wählen Sie zunächst aus, ob die Anmelde-informationen für einen Server oder einen Proxy bestimmt sind. Mehrere Anmeldeinformationen können genutzt werden, wenn Dateien von verschiedenen Servern geladen werden sollen.

Set Credentials
Set Credentials

Um die Anmeldeinformationen korrekt einzugeben, wählen Sie das Schema der Anmeldung aus (Basic, Digest, NTLM, Negotiate oder Passport). Anschließend geben Sie einen Benutzernamen und ein Passwort an.

Hinweis  Note:  

BITS kann von Haus aus keine Credentials für UNC-Freigaben nutzen. Dort sollten Sie die Kommandos aus dem Kapitel Internet nutzen.

Hinweis  Note:  

Für die Auswahl des Schema finden Sie unter folgenden Links weitere http://msdn.microsoft.com/en-us/library/aa362793(VS.85).aspx

Remove Credentials

Mit diesem Kommando können Sie Anmeldeinformationen eines Jobs wieder löschen. Dazu geben Sie die Job-ID an. Anschließend wählen Sie aus, ob es sich um Anmeldeinformationen für einen Server oder einen Proxy handelt. Zuletzt wählen Sie das Schema aus, dessen Informationen gelöscht werden sollen.

Iterate jobs

Mit diesem Kommando können Sie alle BITS Jobs schleifenartig durchlaufen. Dabei werden die Job-ID sowie der Jobname bei jedem Durchlauf für den jeweils aktuellen Job in entsprechenden Variablen gespeichert. Zusätzlich wählen Sie noch aus, ob nur die Jobs des aktuellen Benutzers oder die Jobs aller Benutzer durchlaufen werden sollen. Über untergeordnete Kommandos können Sie die Informationen weiter verarbeiten.

Iterate files of job

Über dieses Kommando können Sie alle Dateien (Add file(s) to job) eines Jobs (Job-ID) durchlaufen. Dabei wird der Dateipfad und -name der jeweiligen lokalen Datei sowie der Server-Datei in entsprechenden Variablen gespeichert. Über untergeordnete Kommandos können Sie die Informationen weiter verarbeiten.

© Aagon GmbH 2024
Besuchen Sie unsere neue Aagon-Community