我正在编写一个 PowerShell 脚本,它将使用以下命令在远程主机上执行命令调用命令和它的-ScriptBlock
范围。例如,
function Foo {
...
return "foo"
}
$rv = Invoke-Command --Credential $c --ComputerName $fqdn -ScriptBlock ${function:Foo}
这很好用。我现在想做的是同样的事情,但是使用本地参数调用函数。例如,
function Bar {
param( [String] $a, [Int] $b )
...
return "foo"
}
[String] $x = "abc"
[Int] $y = 123
$rv = Invoke-Command --Credential $c --ComputerName $fqdn -ScriptBlock ${function:Foo($x,$y)}
但这不起作用:
Invoke-Command:无法验证参数“ScriptBlock”的参数。
该参数为空。提供一个非空参数并尝试该命令
再次。
如何将 Invoke-Command 与-ScriptBlock
这是一个带有参数的局部函数?
我意识到我可以将整个函数和参数包装在一个大代码块中,但在我看来,这不是一个干净的方法。
我想你想要:
function Foo ( $a,$b) {
$a
$b
return "foo"
}
$x = "abc"
$y= 123
Invoke-Command -Credential $c -ComputerName $fqdn -ScriptBlock ${function:Foo} -ArgumentList $x,$y
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)