在Powershell中,我想学习调用变量到开始作业的最佳方法,因此我不必为每个服务器编辑脚本,因为它将根据我放置脚本的客户端而特定。
$Servername = 'Server1'
$pingblock = {
pathping $servername | Out-File C:\client\PS\ServerPing.TXT
}
start-job $pingblock
当我在上面运行代码时,我只是得到一个带有帮助的文件,好像我忘记了指定$ servername一样。
最佳答案
在-ArgumentList
上使用Start-Job
参数,例如:
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
关于variables - Powershell将变量传递给开始作业,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10075943/