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 は、前のアクティビティが完了した後にのみ開始されます。

ただし、スクリプト ブロックSequenceにスクリプト ブロックがParallel``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}
        }
    }
}

関連項目