2012-04-09 40 views
15

powershell内で変数を開始ジョブに呼び出す最良の方法を学びたいので、各サーバーのスクリプトを編集する必要はありません。クライアントスクリプトを配置しました。powershellはstart-jobに変数を渡します

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

上記のコードを実行すると、$ servernameの指定を忘れてしまったように、ヘルプファイルが表示されます。 Start-Job例えば上

答えて

22

使用-ArgumentListパラメータ:あなたのケースで

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

ありがとう!私はその開始仕事が引数リストを持っていなかった。 – jjamesjohnson

関連する問題