BITS Commands
Ü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 |
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
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
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.
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
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.
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.