2016-04-13 4 views
1

スクリプトブロック内のすべてのリモート変数のリストを取得する方法はありますか?スクリプトブロック内のすべてのリモート変数を取得

は、次の点を考慮:$ブロックの内部

$x = 1 
$block = { Write-Host $using:x } 
Invoke-Command -Session (New-PSSession) -ScriptBlock $block 

を、使用可能な$のリストを取得するどのような方法があります:変数のスコープ?あなたがすることはできません。

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

は短い答えは可能な変数

答えて

1

として$ xを得ません。

リモート側は変数について何も知らない。それらは直列化され、次に直列化解除コードとリテラル直列化XMLが組み込まれます。

スクリプトボックを書く1であれば、その後、私はあなただけのスクリプトブロック内のローカル変数に各$Using:変数を割り当てるお勧めします。

$block = { 
    $x = $Using:x 
    $y = $Using:y 
} 

私は私のブログにhow $Using: is implementedのより詳細な説明を書きましたそれをDSCスクリプトリソースで使用することに関する。