次の方法で共有


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

関連項目