Я обнаружил, что проблема заключается в использовании переменной внутри рабочего процесса. Я был так сосредоточен на этом блоке кода, что забыл посмотреть на картину в целом.
У меня есть код ниже, который имел проблему:
Workflow GetServerStatus{
$ServerList = Get-Content -path $FullFileName
$ServiceList = Get-Content service_list.txt
ForEach -Parallel ($Server in $ServerList){
InlineScript{
Get-Service -ComputerName $Using:Server -name $Using:ServiceList
}
}
}
#credits to @Lee_Dailey
$Extension = 'txt'
$FileName = $BaseName, $Extension -join '.'
$Directory = '.\server'
$FullFileName = Join-Path -Path $Directory -ChildPath $FileName
GetServiceStatus
Оказывается, проблема в том, что я неправильно передаю переменные в рабочий процесс
Должно быть:
Workflow GetServiceStatus{
param(
$FullFileName
)
Это тогда называется так
GetServiceStatus $FullFileName