上下文:此脚本/函数存在于我的本地计算机上。我想将变量传递给函数,然后将它们传递给一个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