about_Sequence

簡単な説明

選択したアクティビティをSequence順番に実行するキーワード (keyword)について説明します。

詳細な説明

キーワード (keyword)はSequence、選択したワークフロー アクティビティを順番に実行します。 ワークフロー アクティビティは、表示される順序で実行され、同時に実行されません。 Sequence キーワード (keyword)は、PowerShell ワークフローでのみ有効です。

Sequence キーワード (keyword)は、選択したコマンドをParallel順番に実行するためにスクリプト ブロックで使用されます。

ワークフロー アクティビティは既定で順番に実行されるため、Sequenceキーワード (keyword)はスクリプト ブロックでのみ有効Parallelです。 キーワード (keyword)がSequenceスクリプト ブロックにParallel含まれていない場合は有効ですが、効果がありません。

Sequenceスクリプト ブロックを使用すると、依存するコマンドを順番に実行できるようにすることで、より多くのコマンドを並列で実行できます。

構文

シーケンスを使用したワークフロー

workflow <Verb-Noun>
{
    Sequence
    {
        [<Activity>]
        [<Activity>]
        # ...
    }
}

並列とシーケンスを使用したワークフロー

workflow <Verb-Noun>
{
    Parallel
    {
        [<Activity>]
        Sequence
        {
            [<Activity>]
            [<Activity>]
            # ...
        }
    }
}

詳しい説明

スクリプト ブロック内の Parallel コマンドは同時に実行できます。 実行される順序は決まっていません。 この機能により、スクリプト ワークフローのパフォーマンスが向上します。

スクリプト ブロックを Sequence 使用すると、選択したアクティビティがスクリプト ブロックに表示される場合でも、選択したアクティビティを Parallel 順番に実行できます。

スクリプト ブロック内のアクティビティは、 Sequence リストされている順序で連続して実行されます。 スクリプト ブロック内のアクティビティは、 Sequence 前のアクティビティが完了した後にのみ開始されます。

ただし、スクリプト ブロックが Sequence スクリプト ブロックに Parallel 表示される場合、スクリプト ブロックの Sequence 実行順序は決定されません。 スクリプト ブロック内の他のアクティビティの前、後、または同時に実行される Parallel 場合があります。

たとえば、次のワークフローには、コンピューター上の Parallel プロセスとサービスを取得するアクティビティを実行するスクリプト ブロックが含まれています。 Parallelスクリプト ブロックには、ファイルから情報をSequence取得し、その情報をスクリプトへの入力として使用するスクリプト ブロックが含まれています。

Get-ProcessGet-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}
        }
    }
}

関連項目