about_Sequence
簡単な説明
選択したアクティビティを順番に実行する Sequence
キーワードについて説明します。
詳細な説明
Sequence
キーワードは、選択したワークフロー アクティビティを順番に実行します。 ワークフロー アクティビティは、表示される順序で実行され、同時に実行されません。 Sequence
キーワードは、PowerShell ワークフローでのみ有効です。
Sequence
キーワードは、選択したコマンドを順番に実行するために、Parallel
スクリプト ブロックで使用されます。
ワークフロー アクティビティは既定で順番に実行されるため、 Sequence
キーワードは Parallel
スクリプト ブロックでのみ有効です。 Sequence
キーワードが Parallel
スクリプト ブロックに含まれていない場合、有効ですが効果がありません。
Sequence
スクリプト ブロックを使用すると、依存コマンドを順番に実行できるようにすることで、より多くのコマンドを並列で実行できます。
構文
シーケンスを使用したワークフロー
workflow <Verb-Noun>
{
Sequence
{
[<Activity>]
[<Activity>]
# ...
}
}
並列とシーケンスを使用したワークフロー
workflow <Verb-Noun>
{
Parallel
{
[<Activity>]
Sequence
{
[<Activity>]
[<Activity>]
# ...
}
}
}
詳しい説明
Parallel
スクリプト ブロック内のコマンドは同時に実行できます。 実行される順序は決まっていません。 この機能により、スクリプト ワークフローのパフォーマンスが向上します。
Sequence
スクリプト ブロックを使用すると、Parallel
スクリプト ブロックにアクティビティが表示される場合でも、選択したアクティビティを順番に実行できます。
Sequence
スクリプト ブロック内のアクティビティは、リストされている順序で連続して実行されます。 Sequence
スクリプト ブロック内のアクティビティは、前のアクティビティが完了した後にのみ開始されます。
ただし、Parallel
スクリプト ブロックに Sequence
スクリプト ブロックが表示される場合、Sequence
スクリプト ブロックの実行順序は決定されません。 Parallel
スクリプト ブロック内の他のアクティビティの前、後、または同時に実行される場合があります。
たとえば、次のワークフローには、コンピューター上のプロセスとサービスを取得するアクティビティを実行する Parallel
スクリプト ブロックが含まれています。 Parallel
スクリプト ブロックには、ファイルから情報を取得し、その情報をスクリプトへの入力として使用するSequence
スクリプト ブロックが含まれています。
Get-Process
、Get-Service
、および修正プログラム関連のコマンドは互いに独立しています。 コマンドは、同時に実行することも、任意の順序で実行することもできます。 ただし、修正プログラム情報を取得するコマンドは、それを使用するコマンドの前に実行する必要があります。
workflow Test-Workflow
{
Parallel
{
Get-Process
Get-Service
Sequence
{
$Hotfix = Get-Content 'D:\HotFixes\Required.txt'
Foreach ($h in $Hotfix) {'D:\Scripts\Verify-Hotfix' -Hotfix $h}
}
}
}
関連項目
PowerShell