Jak kilkakrotnie wykonać funkcję PowerShell?
Nie jestem pewien, czy nazwać to potrzebą wielowątkowości, pracy czy asynchronizacji, ale w zasadzie mam funkcję skryptową Powershell, która pobiera kilka parametrów i muszę ją wywołać kilka razy z różnymi parametrami i uruchomić je równolegle.
Obecnie wywołuję tę funkcję w następujący sposób:
Execute "param1" "param2" "param3" "param4"
Jak mogę zadzwonić do tego wielokrotnie, nie czekając, aż każde wywołanie wykona powrót do rozmówcy?
Obecnie korzystam z wersji 2.0, ale w razie potrzeby mogę zaktualizować
EDYTOWAĆ: oto co mam do tej pory, co nie działa:
$cmd = {
param($vmxFilePath,$machineName,$username,$password,$scriptTpath,$scriptFile,$uacDismissScript,$snapshotName)
Execute $vmxFilePath $machineName $username $password $scriptTpath $scriptFile $uacDismissScript $snapshotName
}
Start-Job -ScriptBlock $cmd -ArgumentList $vmxFilePath, $machineName, $username $password, $scriptTpath, $scriptFile, $uacDismissScript, $snapshotName
Dostaję błąd:
nie można przekonwertować „system.object []” na typ „system.management.automation.scriptblock” wymagany przez parametr „initializationscript”. określona metoda nie jest obsługiwana
EDIT2: Zmodyfikowałem mój skrypt, ale nadal pojawia się wspomniany błąd. Oto mój mod:
$cmd = {
param($vmxFilePath,$machineName,$username,$password,$scriptTpath,$scriptFile,$uacDismissScript,$snapshotName)
Execute $vmxFilePath $machineName $username $password $scriptTpath $scriptFile $uacDismissScript $snapshotName
}
Start-Job -ScriptBlock $cmd -ArgumentList $vmxFilePath, $machineName, $username $password, $scriptTpath, $scriptFile, $uacDismissScript, $snapshotName