2016-06-09 81 views
1

我启动一个PowerShell脚本,该脚本在另一台计算机上调用Invoke-Command函数。我想声明一个在所有这些会话中都可用的变量。通过会话声明变量

​​

输出:

global 
function 
global 

我的目标是获得:

global 
function 
function 

回答

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