about_Suspend-Workflow
主題
about_Suspend-Workflow
簡短描述
描述 Suspend-Workflow 活動,其能暫停該活動出現所在的工作流程。
詳細描述
Suspend-Workflow 活動會在工作流程中暫時停止正在處理的工作流程。在暫停之前,Windows PowerShell® Workflow 會建立一個檢查點,如此一來工作流程的狀態和資料就能保留,且工作流程可以從擱置點繼續執行。
若要繼續工作流程,請執行工作流程的使用者使用 Resume-Job Cmdlet。您不能從工作流程中繼續工作流程。
語法
workflow <Verb-Noun>
{
Suspend-Workflow
}
詳細描述
Suspend-Workflow 會暫時停止工作流程,並傳回代表工作流程作業的工作物件。即使您沒有將工作流程做為工作來執行 (例如使用 AsJob 工作流程一般參數來執行),依然會傳回工作物件。工作狀態為擱置狀態。
您可以使用 Job Cmdlet 來管理擱置的工作流程作業。若要繼續工作流程作業,請使用 Resume-Job Cmdlet。
當您繼續工作流程作業時,工作流程會從遵循 Suspend-Workflow 活動的命令繼續開始。
例如,下列的工作流程包含 Suspend-Workflow 活動。當您執行工作流程時,其會執行 Get-Date 活動、將其輸出儲存在 $a 變數中,然後擱置工作流程,並傳回表示擱置工作流程的工作物件。工作類型是 PSWorkflowJob。
Workflow Test-Suspend
{
$a = Get-Date
Suspend-Workflow
(Get-Date)- $a
}
PS C:\>Test-Suspend
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
8 Job8 PSWorkflowJob Suspended True localhost Test-Suspend
您可以使用工作 Cmdlet (例如 Get-Job) 來管理工作流程作業。
繼續工作流程作業
若要繼續工作流程作業,請使用 Resume-Job Cmdlet。Resume-Job Cmdlet 會立即傳回工作流程作業物件,即使其可能尚未回復為繼續執行。若要等待工作回復為繼續執行,請使用 Wait 參數,或使用 Get-Job Cmdlet 來取得目前的工作物件。
PS C:\>Resume-Job -Name Job8
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
8 Job8 PSWorkflowJob Suspended True localhost Test-Suspend
PS C:\>Get-Job -Name Job8
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
8 Job8 PSWorkflowJob Completed True localhost Test-Suspend
取得工作流程作業的輸出
若要取得工作流程作業的輸出,請使用 Receive-Job Cmdlet。輸出會顯示工作流程從遵循 Suspend-Workflow Cmdlet 的命令開始繼續執行。在暫停之前就已經填入的 $a 變數值,在工作流程繼續執行之後即可供取得。
PS C:\>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
另請參閱
about_Workflows
開始使用 Windows PowerShell 工作流程 (https://go.microsoft.com/fwlink/?LinkID=252592)