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