我已经打开了一个远程会话s1,并且喜欢在我的scriptblock中使用Parameters i切换运行一个函数:
写主机的简单示例:
$a = "aaa" $b = "bbb" $c = "ccc" $d = "ddd" Write-Host "AAAAA: $a $b $c $d" #This works fine as it's locally Invoke-Command -Session $s1 -scriptblock {Write-Host "BBBBB: $a $b $c $d"} #These variables are empty
什么是最简洁的方式来切换variables(我通常从本地CSV文件接收)到脚本块?
您需要使用Invoke-Command
上的ArgumentList
参数将参数“传递”到脚本块中。 这应该为你做:
Invoke-Command -Session $s1 -scriptblock {param($a, $b, $c, $d) Write-Host "BBBBB: $a $b $c $d"} -ArgumentList $a, $b, $c, $d