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