¿Cómo ejecutar una función de PowerShell varias veces en paralelo?
No estoy seguro de si llamar a esto una necesidad de subprocesos múltiples, basado en trabajo o asíncrono, pero básicamente tengo una función de script Powershell que toma varios parámetros y necesito llamarlo varias veces con diferentes parámetros y hacer que se ejecuten en paralelo.
Actualmente, llamo a la función así:
Execute "param1" "param2" "param3" "param4"
¿Cómo puedo llamar a esto varias veces sin esperar a que cada llamada a Ejecutar vuelva al interlocutor?
Actualmente estoy ejecutando v2.0 pero puedo actualizar si es necesario
EDITAR: Esto es lo que tengo hasta ahora, que no funciona:
$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
Me sale un error:
no se puede convertir 'system.object []' al tipo 'system.management.automation.scriptblock' requerido por el parámetro 'initializationscript'. método especificado no es compatible
EDIT2: He modificado mi script, pero todavía me sale el error mencionado anteriormente. Aquí está mi 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