需要帮助编写更好的代码

时间:2016-07-31 21:13:12

标签: session powershell-remoting invoke-command scriptblock

上下文:此脚本/函数存在于我的本地计算机上。我想将变量传递给函数,然后将它们传递给一个invoke-command脚本块,以便在远程机器上运行。

这段代码有效,但我不觉得这是一种好的做法,也不是最好的做法,因为我必须多次绕过我的参数,这一切都让人觉得有点笨拙。

我需要在这里提供$params 4次以实现我的结果吗?

function Create-NewVM
{
  param($param1, $param2, $param3, $param4)

  $ScriptBlock = 
  {
    param ($param1, $param2, $param3, $param4)
    # do a bunch of stuff on my remote machine
  }

  $s = New-PSSession hypervhost.fqdn
  Invoke-Command -Session $s -ScriptBlock $ScriptBlock -ArgumentList $param1, $param2, $param3, $param4
}

Create-NewVM -ComputerName "vm01" $param1 $param2 $param3 $param4

0 个答案:

没有答案