在 Session 上声明变量
declare variable over Sessions
我启动了一个 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
您必须将 Invoke-Command
cmdlet 中的 return 值分配给变量:
$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
我启动了一个 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
您必须将 Invoke-Command
cmdlet 中的 return 值分配给变量:
$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