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. Vor dem Windows PowerShell nimmt der Workflow einen Prüfpunkt an, damit der Status 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 Cmdlet Resume-Job . 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 Cmdlet Resume-Job .

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

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

Sie können die Auftrags-Cmdlets wie verwenden, Get-Jobum 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 Cmdlet Resume-Job . 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 , Get-Job um 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 folgt Suspend-Workflow . Der Wert der Variablen $a , der vor dem Fortsetzen aufgefüllt wurde, ist für den Workflow verfügbar, wenn 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