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

関連項目