在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/

10-12 23:32