about_Suspend-Workflow

簡短描述

描述活動 Suspend-Workflow ,此活動會暫停活動所在的工作流程。

詳細描述

活動 Suspend-Workflow 會暫時停止工作流程處理。 暫止之前,Windows PowerShell 工作流程會採用檢查點,以便保留工作流程的狀態和數據,而且工作流程可以從暫停點繼續。

若要繼續工作流程,執行工作流程的使用者會使用 Resume-Job Cmdlet。 您無法從工作流程內繼續工作流程。

語法

workflow <Verb-Noun>
{
    Suspend-Workflow
}

詳細描述

Suspend-Workflow 暫時停止工作流程,並傳回代表工作流程作業的作業物件。 即使您未以作業身分執行工作流程,也會傳回作業物件。 例如,例如,使用 AsJob 工作流程通用參數。 作業狀態為 Suspended

您可以使用作業 Cmdlet 來管理暫停的工作流程作業。 若要繼續工作流程作業,請使用 Resume-Job Cmdlet。

當您繼續工作流程作業時,工作流程會在活動之後 Suspend-Workflow 的命令繼續執行。

例如,下列工作流程包含 Suspend-Workflow 活動。 當您執行工作流程時,它會執行 Get-Date 活動、將其輸出儲存在變數中 $a ,然後暫停工作流程,並傳回代表暫停工作流程的作業物件。 作業類型為 PSWorkflowJob

您可以使用作業 Cmdlet,例如 Get-Job來管理工作流程作業。

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

繼續工作流程作業

若要繼續工作流程作業,請使用 Resume-Job Cmdlet。 Resume-Job Cmdlet 會立即傳回工作流程作業物件,即使它可能尚未繼續也一樣。 若要等候工作繼續,請使用 Wait 參數,或使用 Get-Job Cmdlet 取得目前的作業物件。

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

取得工作流程作業的輸出

若要取得工作流程工作的輸出,請使用 Receive-Job Cmdlet。 輸出會顯示工作流程在 Cmdlet 之後的 Suspend-Workflow 命令中繼續。 暫停之前填入的 $a 變數值,可在工作流程繼續時使用。

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

另請參閱