Freigeben über


Informationen über_Suspend-Workflow

Kurze Beschreibung

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

Lange Beschreibung

Die Suspend-Workflow Aktivität stoppt vorübergehend die Workflowverarbeitung innerhalb des Workflows. Vor dem Anhalten übernimmt Windows PowerShell-Workflow einen Prüfpunkt, sodass der Status und die Daten des Workflows beibehalten werden und der Workflow vom Anhaltepunkt fortgesetzt werden kann.

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

Syntax

workflow <Verb-Noun>
{
    Suspend-Workflow
}

Detaillierte Beschreibung

Der Suspend-Workflow Workflow wird vorübergehend beendet und ein Auftragsobjekt zurückgegeben, das den Workflowauftrag darstellt. Ein Auftragsobjekt wird zurückgegeben, auch wenn Sie den Workflow nicht als Auftrag ausgeführt haben. Beispiel: Verwenden des allgemeinen AsJob-Workflows . Der Auftragsstatus ist angehalten.

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

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

Der folgende Workflow enthält beispielsweise die Suspend-Workflow Aktivität. Wenn Sie den Workflow ausführen, wird die Get-Date Aktivität ausgeführt, die Ausgabe in der $a Variablen gespeichert und dann der Workflow angehalten, und es wird ein Auftragsobjekt zurückgegeben, das den angehaltenen Workflow darstellt. Der Auftragstyp ist PSWorkflowJob.

Sie können die Auftrags-Cmdlets, z Get-Job. B. zum Verwalten des Workflowauftrags, verwenden.

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 das Resume-Job Cmdlet, um den Workflowauftrag fortzusetzen. Das Resume-Job Cmdlet gibt das Workflowauftragsobjekt sofort zurück, obwohl es möglicherweise noch nicht fortgesetzt wird. Um zu warten, bis der Auftrag fortgesetzt wird, verwenden Sie den Wait-Parameter , oder verwenden Sie das Get-Job Cmdlet, um das aktuelle Auftragsobjekt abzurufen.

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 Receive-Job Cmdlet, um die Ausgabe eines Workflowauftrags abzurufen. Die Ausgabe zeigt, dass der Workflow am Befehl fortgesetzt wurde, der auf das Suspend-Workflow Cmdlet folgte. Der Wert der $a Variablen, die vor dem Anhalten aufgefüllt wurde, ist für den Workflow verfügbar, wenn sie 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