2017-10-28 2 views
-1

Ich möchte mehrere Instanzen eines Powershell-Skripts für mehrere Dienste mit unterschiedlichen Parametern ausführen. Ich habe unten Powershell-Skript geschrieben, aber nicht sicher, was ich tue, es nicht Parameter zu nehmen.So führen Sie mehrere Instanzen des PowerShell-Skripts aus

[string[]] $ScriptstrArray = ‘-command Invoke-Expression ".\Smoke-Test.ps1 -Environment QA -servicename rpms"' , 
    ‘-command Invoke-Expression ".\Smoke-Test.ps1 -Environment QA - servicename rsms"' , 
    ‘-command Invoke-Expression ".\Smoke-Test.ps1 -Environment pvs - servicename spsms"' 

workflow RunSmokeTests { 
######################################################################## 
param([string[]]$sList) 
    ForEach -Parallel ($s in $sList) { 
     start-process powershell.exe -argument $s 
    } 
} 

RunSmokeTests -sList $ScriptstrArray 

Kann jemand bitte mich, das Problem zu identifizieren. Danke im Voraus.

+0

Irgendwelche Fehler? Was hast du bisher versucht? Scheint nur Syntax- oder Substitutionsprobleme auftreten. –

Antwort

0

Ich habe den externen Helfer Invoke-Parallel für solche Szenarien in der Vergangenheit verwendet. Es verfügt über einen -InputObject Parameter, mit dem Sie ein Array mit z. die Server/Dienste und ihre entsprechenden Details. Siehe here oder here für Quelle und Beispiele.

Verwandte Themen