Einführung in Windows PowerShell Workflow

 

Betrifft: Windows Server 2012, Windows Server 2012 R2

IT-Spezialisten automatisieren häufig die Verwaltung von Umgebungen mit mehreren Geräten, indem sie eine Reihe von zeitaufwendigen Aufgaben oder Workflows ausführen, die sich gleichzeitig auf mehrere verwaltete Computer oder Geräte auswirken können. Der Windows PowerShell-Workflow bietet IT-Spezialisten und Entwicklern die Vorteile der Windows Workflow Foundation zusammen mit den Automatisierungsfunktionen und dem Komfort von Windows PowerShell. Die Windows PowerShell-Workflowfunktion wurde in Windows Server® 2012 und Windows 8 eingeführt. Sie ist Bestandteil von Windows PowerShell 3.0 und neueren Versionen von Windows PowerShell. Der Windows PowerShell-Workflow unterstützt Sie beim Automatisieren der Verteilung, Orchestrierung und Fertigstellung von Aufgaben auf mehreren Geräten, sodass Benutzer und Administratoren mehr Zeit für wichtigere Aufgaben haben.

Windows PowerShell wurde erstmalig in Windows Vista und Windows Server 2008 eingeführt und ist ein verteiltes Automatisierungsmodul, eine Befehlszeilenshell und eine Skriptsprache auf der Grundlage von Microsoft® .NET Framework. Das Modul wurde speziell für die Automatisierung der Windows-Verwaltung entwickelt.

Der Windows PowerShell-Workflow ist ein wichtiges Feature von Windows PowerShell 3.0 und Windows PowerShell 4.0. Weitere Informationen zu Windows PowerShell finden Sie unter What’s New in Windows PowerShell.

Dieses Thema enthält die folgenden Abschnitte:

  • Übersicht über Windows PowerShell Workflow

  • Unterschiede zwischen Windows PowerShell-Workflow und Windows PowerShell-Skripts

  • Erstellen und Importieren von Workflows mit dem Visual Studio Workflow-Designer

Übersicht über Windows PowerShell Workflow

Bei einem Workflow handelt es sich um eine Sequenz von programmierten, zusammenhängenden Schritten, mit denen zeitaufwendige Aufgaben ausgeführt werden oder für die mehrere Schritte auf mehreren Geräten oder verwalteten Knoten koordiniert werden müssen. Der Windows PowerShell-Workflow stellt IT-Spezialisten und Entwicklern Sequenzen von Verwaltungsaktivitäten als Workflows für mehrere Geräte oder einzelne Aufgaben innerhalb eines Workflows bereit. Standardmäßig können Workflows langfristig oder häufig ausgeführt, wiederholt, parallelisiert, unterbrochen, beendet und neu gestartet werden. Sie können angehalten und fortgesetzt werden. Sie können auch nach einer unerwarteten Unterbrechung, z. B. einem Netzwerkausfall oder einem Computerneustart fortgesetzt werden.

Windows PowerShell-Workflows können mit der Windows PowerShell-Syntax oder in XAML-Dateien erstellt und definiert werden. Weitere Informationen zum Erstellen eines skriptbasierten Windows PowerShell-Workflows finden Sie unter Schreiben eines Skriptworkflows. Weitere Informationen zu XAML-basierten Workflows finden Sie unter Erstellen und Importieren von Workflows mit dem Visual Studio Workflow-Designer in diesem Thema.

Mit der Funktion RunAs von Windows PowerShell können delegierte oder untergeordnete IT-Experten mithilfe von benutzerdefinierten Sitzungskonfigurationen Workflows oder Aktivitäten innerhalb eines Workflows ausführen.

Aktivitäten

Eine Aktivität ist eine bestimmte Aufgabe, die in einen Workflow ausgeführt werden soll. Genau wie ein Skript aus einem oder mehreren Befehlen besteht, enthält auch ein Workflow eine oder mehrere Aktivitäten, die in einer bestimmten Reihenfolge ausgeführt werden. Ein Skript kann auch als ein einzelner Befehl in einem anderem Skript verwendet werden, und ein Workflow kann als eine Aktivität in einem anderen Workflow verwendet werden.

Vorteile von Windows PowerShell Workflow

Im Anschluss finden Sie eine Liste, in der viele der Vorteile des Windows PowerShell-Workflows beschrieben werden.

  • Verwenden der Windows PowerShell-Skriptsyntax

    IT-Experten können mit Kenntnissen von Windows PowerShell skriptbasierte Workflows mithilfe der erweiterbaren Sprache Windows PowerShell erstellen. Skriptbasierte Windows PowerShell-Workflows sind einfach zu schreiben und können problemlos in eine E-Mail-Nachricht eingefügt oder auf Webseiten veröffentlicht werden.

  • Verwalten mehrerer Geräte

    Sie können Workflowaufgaben gleichzeitig auf Hunderte verwaltete Knoten anwenden. Der Windows PowerShell-Workflow fügt Workflows automatisch allgemeine Parameter wie z. B. PSComputerName hinzu, um die Verwaltung mehrerer Geräte zu ermöglichen. Weitere Informationen zu den Parametern, die für Workflows reserviert sind, finden Sie unter „Reservierte Wörter in Workflows“ in Referenzthemen zur Workflowerstellung.

  • Ausführen einer einzelnen Aufgabe zum Verwalten von komplexen End-to-End-Prozessen

    Sie können ähnliche Skripts oder Befehle eines vollständigen Szenarios in einem einzelnen Workflow zusammenfassen. Status und Fortschritt von Aktivitäten innerhalb eines Workflows sind jederzeit sichtbar.

  • Automatisierte Wiederherstellung nach einem Fehler

    Workflows überstehen sowohl geplante als auch ungeplante Unterbrechungen (beispielsweise den Neustart des Computers). Die Workflowausführung kann unterbrochen und anschließend neu gestartet oder an dem Punkt fortgesetzt werden, an dem sie unterbrochen wurde. Sie können Prüfpunkte im Workflow erstellen, sodass Sie den Workflow von der letzten permanenten Aufgabe (dem Checkpoint) fortgesetzt werden kann, anstatt den Workflow vom Anfang neu starten zu müssen.

  • Wiederholen von Verbindungen und Aktivitäten

    Mithilfe der allgemeinen Workflowparameter können Workflowbenutzer Verbindungen mit verwalteten Knoten wiederholen, wenn Netzwerkverbindungsfehler auftreten. Workflowersteller können auch Aktivitäten angeben, die erneut ausgeführt werden müssen, wenn die Aktivität auf einem oder mehreren verwalteten Knoten nicht abgeschlossen werden kann (z. B. wenn ein Zielcomputer offline war, während die Aktivität ausgeführt wurde).

  • Herstellen und Trennen einer Verbindung

    Benutzer können eine Verbindung mit dem Computer herstellen, auf dem der Workflow ausgeführt wird, und diese wieder trennen, der Workflow wird jedoch weiter ausgeführt. Wenn Sie den Workflow beispielsweise auf zwei unterschiedlichen Computern ausführen und verwalten, können Sie sich auf dem Computer, auf dem Sie den Workflow verwalten, abmelden und diesen auch neu starten. Währenddessen können Sie von einem anderen Computer (z. B. einem Heimcomputer) aus sämtliche Workflowvorgänge überwachen, ohne den Workflow zu unterbrechen.

  • Aufgabenplanung

    Workflowaufgaben können genau wie andere Windows PowerShell-Cmdlets oder -Skripts geplant und gestartet werden, wenn bestimmte Bedingungen erfüllt sind.

Unterschiede zwischen Windows PowerShell-Workflow und Windows PowerShell-Skripts

Bei einem Skript wird das gesamte Skript im gleichen Runspace ausgeführt, dem Betriebssystem, das festlegt, welche Befehle, Variablen und anderen Elemente verfügbar sind. Bei einem Workflow kann jede Aktivität innerhalb des Workflows in einem anderen Runspace ausgeführt werden. Variablen, die auf der obersten Ebene des gesamten Workflows erstellt werden, stehen auch im gesamten Workflow zur Verfügung. Wenn sie auf der Ebene von Skripts oder Befehlen erstellt werden, stehen sie für den Befehl oder das Skript zur Verfügung, aber nicht für den gesamten Workflow.

Sie sollten i. Allg. einen Workflow anstelle von Cmdlets oder Skripts verwenden, wenn die folgenden Anforderungen erfüllt sein müssen.

  • Sie müssen eine zeitintensive Aufgabe ausführen, die mehrere Schritte in einer Sequenz zusammenfasst.

  • Sie müssen eine Aufgabe auf mehreren Geräten ausführen.

  • Sie müssen eine Aufgabe ausführen, die Prüfpunkte oder Persistenz erfordert.

  • Sie müssen eine zeitintensive Aufgabe ausführen, die asynchron oder parallelisiert ist oder die neu gestartet oder unterbrochen werden kann.

  • Sie müssen eine Aufgabe mit einem großen Gültigkeitsbereich oder in Umgebungen mit hoher Verfügbarkeit ausführen, wobei ggf. Einschränkungen und Verbindungspools erforderlich sein könnten.

Erstellen und Importieren von Workflows mit dem Visual Studio Workflow-Designer

Sie können Workflows nicht nur mit Windows PowerShell-Skripts erstellen, sondern auch mit dem Visual Studio Workflow-Designer. Workflows, die Sie im Workflow-Designer von Visual Studio erstellen, weisen die Dateierweiterung „.xaml“ auf. Sie können Workflows im Windows PowerShell-Workflow aufrufen und importieren, die im Workflow-Designer erstellt wurden, und Windows PowerShell-Cmdlets als Aktivitäten im Workflow-Designer verfügbar machen.

Weitere Informationen zum Erstellen von Workflows im Workflow-Designer von Visual Studio finden Sie unter Using the Workflow Designer in der Visual Studio-Dokumentation auf MSDN.

Windows PowerShell-Workflowaktivitäten im Visual Studio Workflow-Designer

Windows PowerShell umfasst integrierte Aktivitäten für die meisten Windows PowerShell-Cmdlets. Diese Aktivitäten werden in Assemblys zusammengefasst, deren Namen dem Namen des entsprechenden Windows PowerShell-Moduls mit dem Cmdlet entsprechen. Im Folgenden finden Sie eine Liste der Windows PowerShell-Aktivitätsassemblys, die im globalen Assemblycache (GAC) installiert sind:

  • Microsoft.PowerShell.Activities

  • Microsoft.PowerShell.Core.Activities

  • Microsoft.PowerShell.Diagnostics.Activities

  • Microsoft.PowerShell.Management.Activities

  • Microsoft.PowerShell.Security.Activities

  • Microsoft.PowerShell.Utility.Activities

  • Microsoft.WSMan.Management.Activities

Weitere Informationen zum Hinzufügen einer Aktivität aus einer Assembly zur Toolbox finden Sie unter Vorgehensweise: Hinzufügen von Aktivitäten zur Toolbox.

Siehe auch

Konfigurieren der Workflowumgebung
Ausführen eines Windows PowerShell-Workflows
Schreiben eines Skriptworkflows
Neues in Windows Workflow Foundation 4.0
about_Jobs
about_Workflow_Common_Parameters
Informationen über_Workflows