如何从远程 PowerShell 会话返回一个变量到本地 PowerShell 会话

4

我有一个创建新的PowerShell会话的脚本。我需要从创建的众多变量中返回一个变量到本地/调用会话。以下是我的PowerShell脚本:

param
(
[string]$user,
[string]$password
)

$secure_password = ConvertTo-SecureString $password -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential $user, $secure_password

$new_session = New-PSSession -Credential $cred

$script = {
$var1 = 0
$var2 = a
}

Invoke-Command -Session $new_session -ScriptBlock $script

Write-Host ($var2)

当脚本执行Write-Host ($var2)时,它不会打印任何$var2的值。如何将$var2返回到本地会话?
1个回答

4
param
(
[string]$user,
[string]$password
)

$secure_password = ConvertTo-SecureString $password -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential $user, $secure_password

$new_session = New-PSSession -Credential $cred

$script = {
    $var1 = 0
    $var2 = a
    $var2
}

$varFromSession = Invoke-Command -Session $new_session -ScriptBlock $script

Write-Host $varFromSession

从会话的脚本块中返回变量,可以使用Write-Outputreturn语句,也可以像我演示的那样在其他命令中使用该变量。 Invoke-Command的返回值将是脚本块写入管道的内容。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接