Это мой сценарий:
workflow Run-RemoteScript {
Param(
[Parameter(Mandatory,Position=0)][string[]]$Targets,
[Parameter(Mandatory,Position=1)][PSCredential]$Credentials,
[Parameter(Mandatory,Position=1)][String]$Path
)
foreach -parallel ($Target in $Targets) {
parallel {
"Executing on: $Target"
InlineScript {
Invoke-Command -FilePath $using:Path -ComputerName $using:Target -Credential $using:Credentials
}
}
}
}
Этот рабочий процесс вложен в функцию. Как передать параметры из моей функции верхнего уровня в Invoke-Command? Внутри InlineScript{}? $using:MyVar вроде не работает.
@Theo Спасибо, что указали на это, я пропустил это!
Я бы поставил под сомнение использование рабочего процесса для этого, когда Invoke-Command может принимать массив имен компьютеров.
@RichardSiddaway Можно ли использовать только массив для параллельного выполнения?





Посмотрите справку по Invoke-Command. Есть несколько способов сделать это без дополнительного усложнения рабочего процесса. Посмотрите, например, на параметры -ThrottleLimit или -InDisconnectedSession. Пример 16 может иметь отношение к делу
Привет, спасибо, что указали мне правильное направление. Пример 16 определенно имеет отношение к создаваемому мной сценарию. Можно ли получить результат выполнения сценария на удаленном компьютере?
Примечание: оба параметра
Credentialsи$Pathнаходятся в положении = 1