Powershell 远程切换变量

Powershell 远程切换变量

我已经打开了远程会话 s1,并且想要在脚本块中运行带有参数 i 交接的函数:

使用 Write-Host 的简化示例:

$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

将变量(我通常从本地 csv 文件接收)移交给脚本块的最干净的方法是什么?

答案1

ArgumentList您需要使用参数 on将参数“传递”到脚本块中Invoke-Command。这应该可以为您完成:

Invoke-Command -Session $s1 -scriptblock {param($a, $b, $c, $d) Write-Host "BBBBB: $a $b $c $d"} -ArgumentList $a, $b, $c, $d

相关内容