2012-04-09 9 views
15

w ramach powershell Chciałbym nauczyć się jak najlepiej wywoływać zmienną do zadania początkowego, więc nie muszę edytować skryptu dla każdego serwera, ponieważ będzie on specyficzny w oparciu o klient, na którym umieściłem mój skrypt.Zmienna Powershell Pass do zadania startowego

$Servername = 'Server1' 
    $pingblock = { 
     pathping $servername | Out-File C:\client\PS\ServerPing.TXT 
    } 
    start-job $pingblock 

gdy uruchomię mój kod powyżej po prostu pobrać plik za pomocą jakbym zapomniał określić $ nazwa_serwera.

Odpowiedz

22

użyć parametru -ArgumentList na Start-Job np .:

Start-Job -Scriptblock {param($p) "`$p is $p"} -Arg 'Server1' 

W twoim przypadku:

$pingblock = {param($servername) pathping $servername | Out-File C:\...\ServerPing.txt} 
Start-Job $pingblock -Arg Server1 
+0

Dzięki! Przegapiłem, że ta praca startowa miała listę argumentów. – jjamesjohnson

Powiązane problemy