我启动一个PowerShell脚本,在另一台计算机上调用Invoke-Command
的函数。我想声明一个可用于所有这些会话的变量。
$var = "global"
function do-function{
$var = "function"
return $var
}
$var
invoke-command -ComputerName NameOfComputer -scriptblock ${function:do-function}
$var
输出:
global
function
global
我的目标是获得:
global
function
function
答案 0 :(得分:0)
您必须将Invoke-Command
cmdlet的返回值分配给变量:
$var = "global"
function do-function{
$var = "function"
return $var
}
$var
$var = invoke-command -ComputerName NameOfComputer -scriptblock ${function:do-function}
$var
此外,scriptblock
可以定义如下:
$myScriptBlock = {
# ....
}
invoke-command -ComputerName NameOfComputer -scriptblock $myScriptBlock