Delen via


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

Zie ook