Ich bin nicht sicher auszuführen, ob dies für Multi-Threading ein Bedarf aufrufen, Job-basierte oder Asynchron, aber im Grunde habe ich ein Skript Powershell-Funktion, die mehrere Parameter und I nimmt müssen sie mehrmals mit unterschiedlichen Parametern aufrufen und diese parallel laufen lassen.Wie ein Powershell-Funktion mehrmals parallel
Derzeit rufe ich die Funktion wie folgt aus:
Execute "param1" "param2" "param3" "param4"
Wie kann ich diese mehrmals aufrufen für jeden Anruf, ohne warten Rückkehr an den Anrufer Execute?
v2.0 Ich laufe Zeit, aber ich kann, wenn
EDIT notwendig aktualisieren: hier ist was ich bisher habe, 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 einen Fehler:
EDIT2: Ich habe mein Skript geändert, aber ich bekomme immer noch 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
Ich bin immer noch eine harte Zeit Abbildung Ihre Lösung mit meinem eigenen Skript zu arbeiten. Ich beginne einfach zu starten und versuche einfach Start-Job zu bekommen, um meinen Skriptblock mit den Argumenten auszuführen, die meine benutzerdefinierte Funktion Execute benötigt. Vielleicht kannst du erweitern? Ist $ foo ein Parameter zusätzlich zu den Parametern param ($ a, $ b)? – JohnZaj
Ich sehe jetzt, danke. Ich bekomme trotzdem den Fehler. Wenn Sie nicht sicher sind, was das sein könnte, werde ich nur separate Post/Frage erstellen. – JohnZaj
Ersetzen Sie zu Testzwecken den Aufruf Ihrer 'Execute()' -Funktion mit Code, der nur die Parameter wiedergibt. Funktioniert es? Wenn dies der Fall ist, liegt das Problem bei der Funktion, die Sie aufrufen möchten. –