Wie führe ich eine PowerShell-Funktion mehrmals parallel aus?

Ich bin mir nicht sicher, ob ich dies als Multithreading, auftragsbasiert oder asynchron bezeichnen soll, aber im Grunde habe ich eine Powershell-Skriptfunktion, die mehrere Parameter benötigt und die ich mehrmals mit verschiedenen Parametern aufrufen muss, damit diese ausgeführt werden parallel zu.

Derzeit rufe ich die Funktion folgendermaßen auf:

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

Wie kann ich dies mehrmals aufrufen, ohne auf jeden Anruf zu warten, um die Rückkehr zum Anrufer auszuführen?

Momentan arbeite ich mit v2.0, kann aber bei Bedarf ein Update durchführen

BEARBEITEN: Folgendes habe ich bisher, was nicht funktioniert:

$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

Ich erhalte einen Fehler:

kann 'system.object []' nicht in den Typ 'system.management.automation.scriptblock' konvertieren, der für den Parameter 'initializationscript' erforderlich ist. angegebene Methode wird nicht unterstützt

EDIT2: Ich habe mein Skript geändert, erhalte aber trotzdem den oben genannten Fehler. Hier ist mein 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

Antworten auf die Frage(4)

Ihre Antwort auf die Frage