Powershell 获取脚本块中的所有远程变量

Powershell 获取脚本块中的所有远程变量,powershell,powershell-5.0,Powershell,Powershell 5.0,是否有方法获取脚本块中所有远程变量的列表 考虑以下几点: $x = 1 $block = { Write-Host $using:x } Invoke-Command -Session (New-PSSession) -ScriptBlock $block 在$block内部,是否有任何方法可以使用:作用域变量获取可用$block的列表 $x = 1 $block = { Get-Variable } Invoke-Command -Session (New-PSSession) -Scrip

是否有方法获取脚本块中所有远程变量的列表

考虑以下几点:

$x = 1
$block = { Write-Host $using:x }
Invoke-Command -Session (New-PSSession) -ScriptBlock $block
在$block内部,是否有任何方法可以使用:作用域变量获取可用$block的列表

$x = 1
$block = { Get-Variable }
Invoke-Command -Session (New-PSSession) -ScriptBlock $block

不会产生$x作为可用变量的收益

简单的回答是:你不能

远程端对变量一无所知。它们被序列化,然后反序列化代码和文本序列化XML被嵌入

如果您是编写脚本块的人,那么我建议您将每个
$Using:
变量分配给scriptblock中的一个局部变量:

$block = {
    $x = $Using:x
    $y = $Using:y
}
我在我的博客上写了关于在DSC脚本资源中使用它的更详细的解释