2012-04-09 9 views
15

arasındaki Powershell geçiş değişkenini başlatmak için bir değişkeni çağırmanın en iyi yolunu öğrenmek istiyorum. Bu nedenle, her sunucu için komut dosyasını düzenlemek zorunda kalmam. istemciye senaryo yazdım.Powershell, başlangıç ​​işine

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

ben $ belirtmek sunucuadı'nı unuttum sanki sadece yardımıyla bir dosyayı almak yukarıda kodumu çalıştırdığınızda. Start-Job örneğin üzerine

cevap

22

Kullanım -ArgumentList parametre .: Senin durumunda

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

:

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

teşekkürler! Başlangıç ​​işinin argüman listesi olduğunu kaçırdım. – jjamesjohnson