Поделиться через


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-ServiceКомандыGet-Process, связанные с исправлениями, не зависят друг от друга. Команды могут выполняться одновременно или в любом порядке. Но команда, которая получает сведения о исправлении, должна выполняться перед командой, которая использует его.

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

См. также