Informationen über_Suspend-Workflow

Kurze Beschreibung

Beschreibt die Suspend-Workflow -Aktivität, mit der der Workflow angehalten wird, in dem die Aktivität angezeigt wird.

Lange Beschreibung

Die Suspend-Workflow Aktivität beendet vorübergehend die Workflowverarbeitung innerhalb des Workflows. Bevor der Workflow angehalten Windows PowerShell, nimmt der Workflow einen Prüfpunkt an, damit der Zustand und die Daten des Workflows beibehalten werden und der Workflow vom Unterbrechungspunkt aus fortgesetzt werden kann.

Zum Fortsetzen des Workflows verwendet der Benutzer, der den Workflow ausgeführt, das Resume-Job Cmdlet . Sie können einen Workflow nicht innerhalb des Workflows fortsetzen.

Syntax

workflow <Verb-Noun>
{
    Suspend-Workflow
}

Detaillierte Beschreibung

Beendet Suspend-Workflow vorübergehend den Workflow und gibt ein Auftragsobjekt zurück, das den Workflowauftrag darstellt. Ein Auftragsobjekt wird zurückgegeben, auch wenn Sie den Workflow nicht als Auftrag ausgeführt haben. Beispielsweise mithilfe des allgemeinen AsJob-Workflowparameters. Der Auftragsstatus ist Angehalten.

Sie können die Auftrags-Cmdlets verwenden, um den angehaltenen Workflowauftrag zu verwalten. Verwenden Sie zum Fortsetzen des Workflowauftrags das Resume-Job Cmdlet .

Wenn Sie den Workflowauftrag fortsetzen, wird der Workflow mit dem Befehl fortgesetzt, der auf die Aktivität Suspend-Workflow folgt.

Der folgende Workflow enthält z. B. die Suspend-Workflow -Aktivität. Wenn Sie den Workflow ausführen, führt er die Aktivität aus, speichert die Ausgabe in der Variablen und unter suspendiert dann den Workflow und gibt ein Auftragsobjekt zurück, das den angehaltenen Get-Date $a Workflow darstellt. Der Auftragstyp ist PSWorkflowJob.

Sie können die Auftrags-Cmdlets wie Get-Job verwenden, um den Workflowauftrag zu verwalten.

Workflow Test-Suspend
{
    $a = Get-Date
    Suspend-Workflow
    (Get-Date)- $a
}

Test-Suspend
Id  Name  PSJobTypeName  State      HasMoreData  Location  Command
--  ----  -------------  -----      -----------  --------  -------
8   Job8  PSWorkflowJob  Suspended  True         localhost Test-Suspend

Fortsetzen eines Workflowauftrags

Verwenden Sie zum Fortsetzen des Workflowauftrags das Resume-Job Cmdlet . Das Cmdlet Resume-Job gibt das Workflowauftragsobjekt sofort zurück, obgleich es möglicherweise noch nicht fortgesetzt wurde. Um zu warten, bis der Auftrag fortgesetzt wird, verwenden Sie den Wait-Parameter, oder verwenden Sie das Cmdlet , um Get-Job das aktuelle Auftragsobjekt zu erhalten.

Resume-Job -Name Job8
Id  Name  PSJobTypeName  State    HasMoreData  Location  Command
--  ----  -------------  -----    -----------  --------  -------
8   Job8  PSWorkflowJob  Running  True         localhost Test-Suspend
Get-Job -Name Job8
Id  Name  PSJobTypeName  State      HasMoreData  Location  Command
--  ----  -------------  -----      -----------  --------  -------
8   Job8  PSWorkflowJob  Completed  True         localhost Test-Suspend

Abrufen der Ausgabe eines Workflowauftrags

Verwenden Sie das Cmdlet , um die Ausgabe eines Workflowauftrags Receive-Job zu erhalten. Die Ausgabe zeigt, dass der Workflow mit dem Befehl fortgesetzt wurde, der auf das Cmdlet Suspend-Workflow folgt. Der Wert der Variablen, der vor dem Fortsetzen aufgefüllt wurde, ist für den Workflow verfügbar, wenn $a er fortgesetzt wird.

Get-Job -Name Job8 | Receive-Job
Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 19
Milliseconds      : 823
Ticks             : 198230041
TotalDays         : 0.000229432917824074
TotalHours        : 0.00550639002777778
TotalMinutes      : 0.330383401666667
TotalSeconds      : 19.8230041
TotalMilliseconds : 19823.0041
PSComputerName    : localhost

Siehe auch

about_Workflows

about_WorkflowCommonParameters

PSWorkflow-Cmdlets

Handbuch zu Workflows

Schreiben Sie einen Windows PowerShell-Workflow