Я пытаюсь получить мои ноги влажными с Powershell Workflows, и некоторые работы, которые мне нужно сделать параллельно.Trouble Understanding Powershell Workflow ForEach
Я не очень далек до удара моего первого контрольно-пропускного пункта, но я не понимаю, что я делаю неправильно здесь:
$operations = ,("Item0", "Item1")
ForEach ($operation in $operations) {
Write-Output "Item0: $($operation.Item(0)) Item1: $($operation.Item(1))"
}
workflow operationsWorkflow{
Write-Output "Running Workflow"
$operations = ,("Item0", "Item1")
ForEach -Parallel ($operation in $operations) {
#Fails: Method invocation failed because [System.String] does not contain a method named 'Item'.
#Write-Output "Item0: $($operation.Item(0)) Item1: $($operation.Item(1))"
Write-Output "Item $operation"
}
}
operationsWorkflow
До сих пор все, что я могу сказать, заключается в том, что в этом случае комманда не работает над созданием массива. Мое первое предположение заключалось бы в использовании .NET '[System.Collections.Generic.List [string []]]' или что-то похожее вместо того, чтобы полагаться на магию массива powershell. – Eris
Примечание: даже прокомментированная строка работает, если '$ operations' содержит более одного элемента массива. Например: '$ operations = @ ((" Item0 "," Item1 "), (" ItemA "," ItemB "))' – Eris
Я хочу, чтобы PowerShell, я просто всегда смущен этим ... –