Windows PowerShell: Was ist ein Windows PowerShell-Workflow?

Windows PowerShell-Workflows können zwar komplex sein, die Beschäftigung damit lohnt sich aber, denn sie bieten sehr hilfreiche Funktionen.

Hinweis: Jeden Monat während 2013 präsentieren Don Jones eine Ratenzahlung in einer 12-Teil Tutorial Serie über Windows PowerShell-Workflow. Wir empfehlen Ihnen zum Lesen durch die Serie in der Reihenfolge, beginnend mit der Spalte Januar 2013 und ausgehend von Monat zu Monat.

Don Jones

Der Windows PowerShell-Workflow ist ein neues Feature in Windows Management Framework Version 3.0. Ein Workflow ist in einem weiten Sinne eine spezielle Art von Windows PowerShell-Skript. Ferner werden eine Reihe von Aufgaben, von denen einige müssen in einer bestimmten Reihenfolge auftreten, während andere parallel ausgeführt werden können.

Windows PowerShell-Workflow ist bei Windows Server 2012 und Windows 8 bereits vorinstalliert. Es ist auch für Windows 7, Windows Server 2008 und Windows Server 2008 R2 verfügbar. Benötigen Sie eines dieser Betriebssysteme, einen Workflow auszuführen. Jedoch kann ein Workflow Ziel — Bedeutung, Aufgaben gegen — jeder Version von Windows, abhängig von der genauen Aufgabe, die Sie versuchen zu erreichen.

Es wird mit mehr oder weniger standard Windows PowerShell-Syntax geschrieben. Allerdings gibt es einige Inkompatibilitäten zwischen Workflows und traditionellen Windows PowerShell-Skripts. Windows PowerShell Workflow macht starke Nutzung von Windows PowerShell-Remoting-Feature. (Mein Kostenloses grab "Geheimnisse der PowerShell-Remoting" führen, wenn Sie eine Remoting Grundierung oder Konfiguration Beratung.)

Funktionsweise von workflows

Unter der Haube suchen (was wir nicht tun werde tiefer gehende später in dieser Serie), finden Sie ein Windows PowerShell-Workflow ist nicht tatsächlich von Windows PowerShell ausgeführt. Stattdessen Windows PowerShell übersetzt Ihr Skript in XAML und übergibt es an die Windows Workflow Foundation (WWF), das ist ein Teil des Microsoft .NET Framework. WWF akzeptiert das XAML und tatsächlich führt die Ausführung.

Die Tatsache, dass der WWF führt ein Workflow und nicht Windows PowerShell, stellt einige interessanten Funktionen und mehr als ein paar Komplexität. Zum Beispiel dient der WWF zum Checkpoint den Fortschritt eines Workflows. Auf diese Weise wird die Maschine läuft des Workflows in gewisser Weise unterbrochen wie Herunterfahren, holen der Workflow, wo es beginnt die Maschine wieder aufgehört.

Sie können Workflows manuell angehalten und fortgesetzt. Beispielsweise müssen Sie einen Workflow ausführen eine bestimmten Gruppe von Aufgaben, bis zu einem Punkt, wenn manueller Eingriffe erforderlich ist. Dann sollten Sie es Vorgang unterbrechen und automatisch senden einer E-mail-Nachricht mit einem Status-Update. Nach Abschluss der manuellen Aufgaben, konnte Sie den Workflow wiederaufnehmen und Ausführung fortsetzen lassen.

Workflows können wenn Sie möchten auch Dinge parallel ausgeführt. Beispielsweise haben Sie eine Reihe von Aufgaben, die ausgeführt werden können in beliebiger Reihenfolge mit keine Abhängigkeiten, haben dann sie alle mehr oder weniger gleichzeitig laufen Sie. Das verkürzt die Gesamt Zeit es braucht, um den Workflow, vervollständigen, der Effizienz verbessert. WWF verfolgt von auch jeden Schritt im Workflow. Dies bedeutet, dass Sie einem detaillierten Audit-Protokoll auf was Aufgaben abgeschlossen haben, das ist eine große Hilfe bei der Fehlerbehebung, generieren können.

Workflows können nicht alles tun, was ein Windows PowerShell-Skript tun könnte. Wie Sie im Laufe dieser Serie erlernen, ist alles, was Sie nicht in etwas übersetzen, die WWF versteht außerhalb des gültigen Bereichs. Es gibt definitiv einige Aspekte der Windows PowerShell, die werden nicht übertragen. Ein Workflow ist also weder eine Obermenge eine Teilmenge der Windows PowerShell. Es ist ein Kreuz-Set, d. h. Arbeitsabläufe Windows PowerShell einige Funktionen hinzufügen, jedoch können einige auch Weg nehmen. Das ist einer der Aspekte komplexer Workflows.

Nicht die einzige Antwort

Ein Workflow ist nicht die ultimative Antwort auf jede Aufgabe. Die Aufregung um Arbeitsabläufe ergibt sich aus der Produkt-Team bei Microsoft und zahlreichen unabhängigen Enthusiasten, die den Eindruck erwecken können, dass Sie alles als Workflow tun sollten. Widerstehen Sie diesem Drang, weil Arbeitsabläufe eine deutlich höhere Lernkurve haben. Sie sind auch schwieriger für die Problembehandlung und Debuggen, und sind nicht immer notwendig.

Beispielsweise benötigen Sie lediglich eine Aufgabe für eine Gruppe von Computern parallel ausgeführt haben, kann nur alte Remoting, die für Sie erreichen. Sie können auch Windows PowerShell Version 2-Stil hintergrund-Job (die noch in der Version 3 vorhanden ist).

Benötigen Sie nur eine Abfolge von Aufgaben ausführen, die der Zielcomputer, und warten sie, bevor Sie fortfahren, das Skript wieder neu gestartet wird, können Sie das tun, mit der neuen Version 3 Computerneustart Befehl (welche Funktionen ein - Schalter warten). Also während Sie sehen können Workflows sind in der Tat mächtig und haben einige einzigartigen Funktionen, sie sind nicht unbedingt die einfachste Möglichkeit, jede mögliche Aufgabe zu erreichen.

Die Anatomie eines Workflows

Ein Workflow, wie eine Funktion oder ein Cmdlet, ist eine Art von Windows PowerShell-Befehl. Wenn Sie eine erstellt haben, führen Sie im Grunde nur es wie einen anderen Befehl. Sie konnte es planen, oder schieben Sie es auf einen Remotecomputer ausführen es. Bei der Ausführung Windows PowerShell übersetzt in den WWF und fragt WWF eigentlich den Workflow ausgeführt.

Wie andere Arten von Befehlen können Sie Arbeitsabläufe Parameter geben, die ihr Verhalten zur Laufzeit angepasst werden kann. Es gibt eine Vielzahl der allgemeinen Parameter verfügbar, automatisch bestimmte Verhaltensweisen aktiviert.

Sie definieren eine Reihe von Aktivitäten innerhalb eines Workflows. Sie können diese Aktivitäten einrichten, parallel mit einander oder in einer bestimmten Reihenfolge ausgeführt. Sie können mischen und Sequenzen und parallelisierten Blöcke entsprechen, so viel wie nötig. Der Trick ist, dass jede Aktivität muss etwas sein, das WWF versteht. Das ist wirklich die Komplexität beginnt.

Das Windows PowerShell-Team bereitgestellt, WWF "Versionen" der meisten der großen Haupt-Windows PowerShell-Cmdlets. Dies bedeutet, dass Sie diese Cmdlets rechts innerhalb eines Workflows verwenden können. Als WWF übersetzt, werden diese Cmdlets mit ihren Entsprechungen WWF ersetzt, so dass sie wie erwartet ausgeführt werden.

In einer idealen Welt würde jeder Windows PowerShell-Cmdlet mit einem WWF-Äquivalent kommen. Dies würde Arbeitsabläufe viel aussehen wie die vertraute Windows PowerShell-Skripts, die wir seit Jahren geschrieben haben. Aber leben wir nicht in einer perfekten Welt. In der Realität kommen nicht die meisten Cmdlets mit WWF-Entsprechungen. Dies gilt insbesondere für die Cmdlets, die mit Exchange Server, SharePoint und Windows Server 2012 (mit Ausnahme von Windows PowerShell-Cmdlets Kern) kommen.

WWF kann nicht nativ diese Cmdlets ausgeführt. Du musst sie in etwas wickeln, die WWF versteht: ein InlineScript. Diese besondere Aktivität weist im wesentlichen WWF nur Windows PowerShell ausführen. Er ernährt sich den Inhalt der InlineScript Aktivität an die Shell.

Jede InlineScript ist eine unabhängige, eigenständige, getrennte Einheit. InlineScripts teilen nicht mit der Ausnahme von irgendwo die Daten (wie in einer Datenbank) beibehalten sie alle Zugang können Informationen miteinander.

Diese machen schreiben Arbeitsabläufe wesentlich komplexer. Sie wollen jedoch Ihr Hauptgerät der Ausführung für vorerst sein, da die meisten Windows PowerShell-Cmdlets WWF-Versionen haben noch nicht.

Hier ist, was vor uns

Workflows sind auf jeden Fall spannend. Für die richtige Aufgabe gewähren sie unglaubliche Funktionalität. Sie sind in der Tat Komplex. Du musst einige Zeit lernen, wie man sie benutzt investieren. Das Ziel im Jahr 2013 ist einen wichtigen Teil der Informationen jeden Monat präsentieren:

  • **Februar 2013:**Decken Sie die Workflowumgebung einschließlich der Voraussetzungen und Remotekonfiguration.
  • **März 2013:**Geben Sie ein Beispiel mit einer grundlegenden Workflow, damit wir etwas haben zu reden und bauen auf die Zukunft.
  • **April 2013:**Vergleichen und Skripte und Workflows, mit dem eine umfassende Liste von was wird — und nicht — in jeder Arbeit.
  • **Mai 2013:**In Workflow-Aktivitäten, die alle wichtigen InlineScript Aktivität Graben.
  • **Juni 2013:**Schau dir die allgemeinen Parameter und Laufzeitvariablen Workflows und deren Verwendung in Ihren eigenen Workflows.
  • **Juli 2013:**Erfahren Sie, wie ein Workflow Ihrer eigenen Parameter hinzu.
  • **August 2013:**Konstrukt sowohl sequenziert und parallelisiert Aktivitäten innerhalb eines Workflows, und ich werde Ihnen zeigen, wie zu mischen und zu ihnen passen.
  • **September 2013:**Schau wie Sie Prüfpunkt Workflowfortschritt und wie Sie programmgesteuert und manuell anhalten und Fortsetzen der Arbeitsabläufe.
  • **Oktober 2013:**Nehmen Sie alles, was Sie bisher gelernt haben und erstellen Sie eine neue, umfassende Workflowbeispiel.
  • **November 2013:**Eine Perspektive ins Gespräch zu setzen, zeigt einige der Alternativen zu Workflows für bestimmte Aufgaben wie die Aufgaben zu parallelisieren.
  • **Dezember 2013:**Sehen Sie sich andere Möglichkeiten mit können und interagieren mit der Workflow-Feature-Set.

Ich freue mich auf diese einjährige Tour der Windows PowerShell-Workflow. Ich hoffe, Sie werden mir jeden Schritt des Weges.

Don Jones

Don Jones ist ein Empfänger für Windows PowerShell MVP Award und redaktionelle Beiträge für das TechNet Magazin. Er ist Co-Autor vier Bücher über Windows PowerShell Version 3, einschließlich kostenlose Werkzeuge zum Erstellen von HTML-Berichten in Windows PowerShell und Windows PowerShell-Remoting. Sie finden alles auf PowerShellBooks.com, oder Sie können Fragen Jones in der Diskussionsforen auf PowerShell.org.

Verwandte Inhalte