在本地会话中访问远程 (Invoke-Command) 数组变量
Accessing remote (Invoke-Command) array variable in local session
我试图在调用命令之外访问数组变量。我尝试了下面的代码,我无法从本地会话访问远程数组变量。
$serverlist = @("server1", "server2")
foreach ($server in $serverlist) {
#Write-Host $computer
$vinodh = Invoke-Command -ComputerName $server -ScriptBlock {
$testVar = @("Stack", "over", "flow")
}
}
foreach ($vars in $testVar) {
Write-Host $vars # Unable to get the values as stack,over, flow
}
实际结果:无法获取值。
我希望输出为
stack
over
flow
远程会话中设置的变量未填充到本地 powershell 会话 (About Scopes)。您可以 return
调用的会话中的值供以后使用。
$ReturnValues = Invoke-Command -ComputerName $Server -ScriptBlock {
$testVar=@("Stack","over","flow")
return $testVar #return data
}
foreach ($ReturnValue in $ReturnValues)
{
$ReturnValue
}
我试图在调用命令之外访问数组变量。我尝试了下面的代码,我无法从本地会话访问远程数组变量。
$serverlist = @("server1", "server2")
foreach ($server in $serverlist) {
#Write-Host $computer
$vinodh = Invoke-Command -ComputerName $server -ScriptBlock {
$testVar = @("Stack", "over", "flow")
}
}
foreach ($vars in $testVar) {
Write-Host $vars # Unable to get the values as stack,over, flow
}
实际结果:无法获取值。
我希望输出为
stack over flow
远程会话中设置的变量未填充到本地 powershell 会话 (About Scopes)。您可以 return
调用的会话中的值供以后使用。
$ReturnValues = Invoke-Command -ComputerName $Server -ScriptBlock {
$testVar=@("Stack","over","flow")
return $testVar #return data
}
foreach ($ReturnValue in $ReturnValues)
{
$ReturnValue
}