about_Suspend-Workflow
Korte beschrijving
Beschrijft de Suspend-Workflow
activiteit, waardoor de werkstroom waarin de activiteit wordt weergegeven, wordt onderbroken.
Lange beschrijving
De Suspend-Workflow
activiteit stopt de verwerking van werkstromen tijdelijk vanuit de werkstroom. Voordat windows PowerShell Workflow wordt onderbroken, wordt een controlepunt gebruikt, zodat de status en gegevens van de werkstroom behouden blijven en de werkstroom kan worden hervat vanaf het onderbrekingspunt.
Als u de werkstroom wilt hervatten, gebruikt de gebruiker die de werkstroom uitvoert de Resume-Job
cmdlet. U kunt een werkstroom niet hervatten vanuit de werkstroom.
Syntaxis
workflow <Verb-Noun>
{
Suspend-Workflow
}
Gedetailleerde beschrijving
De Suspend-Workflow
werkstroom stopt tijdelijk en retourneert een taakobject dat de werkstroomtaak vertegenwoordigt. Er wordt een taakobject geretourneerd, zelfs als u de werkstroom niet als taak hebt uitgevoerd. Bijvoorbeeld door de algemene parameter voor de AsJob-werkstroom te gebruiken. De taakstatus is onderbroken.
U kunt de taak-cmdlets gebruiken om de onderbroken werkstroomtaak te beheren. Gebruik de Resume-Job
cmdlet om de werkstroomtaak te hervatten.
Wanneer u de werkstroomtaak hervat, wordt de werkstroom hervat bij de opdracht die de Suspend-Workflow
activiteit volgt.
De volgende werkstroom bevat bijvoorbeeld de Suspend-Workflow
activiteit.
Wanneer u de werkstroom uitvoert, wordt de Get-Date
activiteit uitgevoerd, wordt de uitvoer in de $a
variabele opgeslagen en wordt de werkstroom onderbroken en wordt een taakobject geretourneerd dat de onderbroken werkstroom vertegenwoordigt. Het taaktype is PSWorkflowJob.
U kunt de taak-cmdlets, zoals Get-Job
, gebruiken om de werkstroomtaak te beheren.
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
Een werkstroomtaak hervatten
Gebruik de Resume-Job
cmdlet om de werkstroomtaak te hervatten. De Resume-Job
cmdlet retourneert het werkstroomtaakobject onmiddellijk, ook al is dit mogelijk nog niet hervat. Als u wilt wachten tot de taak is hervat, gebruikt u de parameter Wachten of gebruikt u de Get-Job
cmdlet om het huidige taakobject op te halen.
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
De uitvoer van een werkstroomtaak verkrijgen
Gebruik de Receive-Job
cmdlet om de uitvoer van een werkstroomtaak op te halen. In de uitvoer ziet u dat de werkstroom is hervat bij de opdracht die de Suspend-Workflow
cmdlet heeft gevolgd. De waarde van de $a
variabele, die vóór de schorsing is ingevuld, is beschikbaar voor de werkstroom wanneer deze wordt hervat.
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