Windows PowerShell Grundkurs

Aufgaben im Hintergrund ausführen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Standardmäßig arbeitet die Windows PowerShell sämtliche Kommandos nacheinander ab. Allerdings können zeitaufwendige Kommandos im Hintergrund ausgeführt werden, um die Wartezeit zu verkürzen.
02:52

Transkript

Manche Kommandos benötigen bei der Ausführung eine gewisse Zeit. Während der Ausführung ist die PowerShell für weitere Befehle blockiert, da normalerweise ein Befehl nach dem anderen ausgeführt wird. Um diese Wartezeit ein wenig abzumildern, können Sie Hintergundjobs einsetzen. Mit diesen werden Kommandos so ausgeführt, dass sie die PowerShell nicht blockieren und Sie gleich nach dem Absetzen eines Befehls mit weiteren Befehlen fortfahren können. Wie Sie mit Hintergrundjobs arbeiten, sehen Sie in diesem Video. Ein Hintergrundjob ist in der PowerShell schnell angelegt. Ich verwende das Commandlet "Start-Job" und gebe über den Parameter "Script-Block" und die geschweiften Klammern an, was denn im Hintergrund ausgeführt werden soll. Ich nehme jetzt hier exemplarisch einmal den Befehl "Get-EventLog". Ich wähle den LogName "System", mit dem eben das System "EventLog" ausgelesen wird. Sollen im ScriptBlock mehrere Kommandos ausgeführt werden, müssen Sie diese jeweils mit einem Semikolon voneinander trennen. Damit wir später auf das Ergebnis des Hintergrundjobs einfach zugreifen können, bietet es sich an, dass wir die Rückgabe von Start-Job in einer Variable ablegen. Wir erhalten von dem Commandlet ein Job-Objekt. Wir sehen, dass die PowerShell nun direkt weitere Befehle zulässt. Der Job wird im Hintergrund ausgeführt und wir können über einen Get-Job den Status der Jobs ermitteln. Natürlich können wir auch mehrere Jobs parallel im Hintergrund ausführen lassen. Müssen wir auf die Beendigung eines Jobs warten, könnten wir das mit einem "Wait-Job", also beispielsweise so, machen, wobei das in meinem Fall jetzt nicht erforderlich ist, da wir sehen, dass der Job bereits beendet wurde. Die PowerShell nimmt dann bis zur Beendigung des Jobs keine weiteren Kommandos mehr an. Um dann endlich das Ergebnis, oder auch nur ein Teilergebnis, eines Jobs zu erhalten, führen wir das Commandlet "Receive-Job", mit der Angabe des jeweiligen Jobs, aus. Hier sehen wir dann die Einträge aus dem System-EventLog. Wir bekommen damit alle, bis zum jetzigen Zeitpunkt vorhandenen, Ergebnis-Objekte des Jobs. Theoretisch können wir dieses Kommando auch schon ausführen, während der Job läuft, um ein Teilergebnis zu erhalten. In diesem Video haben wir gesehen, wie mit Hintergrundjobs langlaufende Kommandos so ausgeführt werden, dass die PowerShell nicht auf die Beendigung jedes einzelnen Befehls wartet. Insgesamt können wir so Zeit sparen, indem mehrere, voneinander unabhängige Kommandos parallel ausgeführt werden.

Windows PowerShell Grundkurs

Nutzen Sie die Leistungsfähigkeit der Windows PowerShell, lassen Sie sich dazu die Grundlagen zeigen und erledigen Sie künftig effizient Verwaltungs- und Automatisierungsaufgaben.

3 Std. 26 min (45 Videos)
Derzeit sind keine Feedbacks vorhanden...
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:27.08.2014

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!