Como executar uma função do PowerShell várias vezes em paralelo?

Não tenho certeza se devo chamar isso de uma necessidade de multi-threading, job-based ou async, mas basicamente eu tenho uma função de script Powershell que leva vários parâmetros e eu preciso chamá-lo várias vezes com parâmetros diferentes e tê-los em execução em paralelo.

Atualmente, eu chamo a função assim:

Execute "param1" "param2" "param3" "param4"

Como posso chamar isso várias vezes sem esperar por cada chamada para Executar retorno para o chamador?

Atualmente estou executando v2.0, mas posso atualizar se necessário

EDITAR: aqui está o que eu tenho até agora, o que não 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

Eu recebo um erro:

Não é possível converter 'system.object []' para o tipo 'system.management.automation.scriptblock' exigido pelo parâmetro 'initializationscript'. o método especificado não é suportado

EDIT2: Modifiquei meu script, mas ainda recebo o erro mencionado acima. Aqui está meu 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

questionAnswers(4)

yourAnswerToTheQuestion