about_Suspend-Workflow
簡単な説明
アクティビティが Suspend-Workflow
表示されるワークフローを中断するアクティビティについて説明します。
詳細な説明
アクティビティは Suspend-Workflow
、ワークフロー内からのワークフロー処理を一時的に停止します。 中断する前に、Windows PowerShell ワークフローはチェックポイントを取得するため、ワークフローの状態とデータは保持され、ワークフローは中断ポイントから再開できます。
ワークフローを再開するには、ワークフローを実行しているユーザーがコマンドレットを Resume-Job
使用します。 ワークフロー内からワークフローを再開することはできません。
構文
workflow <Verb-Noun>
{
Suspend-Workflow
}
詳しい説明
ワークフローを Suspend-Workflow
一時的に停止し、ワークフロー ジョブを表すジョブ オブジェクトを返します。 ワークフローをジョブとして実行しなかった場合でも、ジョブ オブジェクトが返されます。 たとえば、AsJob ワークフロー共通パラメーターを使用する場合などです。 ジョブの状態が中断されています。
ジョブ コマンドレットを使用して、中断されたワークフロー ジョブを管理できます。 ワークフロー ジョブを再開するには、コマンドレットを Resume-Job
使用します。
ワークフロー ジョブを再開すると、アクティビティに続くコマンドでワークフローが Suspend-Workflow
再開されます。
たとえば、次のワークフローにはアクティビティが Suspend-Workflow
含まれています。
ワークフローを実行すると、アクティビティが Get-Date
実行され、その出力が変数に $a
保存され、ワークフローが中断され、中断されたワークフローを表すジョブ オブジェクトが返されます。 ジョブの種類は PSWorkflowJob です。
ジョブ コマンドレット (例 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
使用します。 このコマンドレットは Resume-Job
、まだ再開されていない可能性がある場合でも、ワークフロー ジョブ オブジェクトを直ちに返します。 ジョブが再開されるのを待つには、Wait パラメーターを使用するか、コマンドレットをGet-Job
使用して現在のジョブ オブジェクトを取得します。
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
使用します。 出力は、コマンドレットに続く 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
関連項目
PowerShell