Помогите с workflow PowerShell

Написал упрощенный пример кода на PowerShell. Нам нужно в рабочем процессе вызвать функцию, которая в свою очередь вызывает другую функцию.

function FuncSecond {
    Write-Output "This is second func"
}

function FuncFirst {
    Write-Output "This is first func"
    FuncSecond
}

workflow Test-ParallelForeach
{    
    FuncFirst
}

Test-ParallelForeach 

И когда происходит вызов второй функции возникает ошибка, якобы нет такой функции иди проверь ее наличие, а она есть, как быть? В рабочем коде много таких функций. Нашел один способ избавиться от такой ошибки - это поместить определение функции в функцию, откуда мы ее вызываем, но такой код будет ооочень уродливым. Выдает следующую ошибку: введите сюда описание изображения


Ответы (1 шт):

Автор решения: Алексей Семенов
workflow FuncSecond {
    Write-Output "This is second func"
}

workflow FuncFirst {
    Write-Output "This is first func"
    FuncSecond
}

workflow Test-ParallelForeach
{    
    FuncFirst
}

Test-ParallelForeach 

Насколько я понимаю код секции обрабатывается не интерпретатором powershell, а Windows Workflow Foundation, я так и не успел войти в эту тему до конца, потому что сейчас больше пишу код на PS версии 7, workflow не поддерживается в .NET Core, и в Powershell с шестой версии.

в седьмой версии у комманделета ForEach-Object появился параметр -Parallel, задачи по распараллеливанию решаю через этом механизм.

→ Ссылка