2016-04-13 7 views
1

Gibt es eine Möglichkeit, eine Liste aller entfernten Variablen in einem Skriptblock abzurufen?Alle entfernten Variablen im Skriptblock abrufen

Beachten Sie Folgendes:

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

Innerhalb von $ Block, ist es eine Möglichkeit, eine Liste der verfügbaren $ mit zu bekommen: Variablen scoped? Sie können nicht:

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

Hat $ x als eine verfügbare Variable

Antwort

1

Die kurze Antwort ist nicht erhalten.

Die entfernte Seite weiß nichts über die Variablen. Sie werden serialisiert und dann wird der Deserialisierungscode und das literale serialisierte XML eingebettet.

Wenn Sie das ein Schreiben des Skripts bock sind, dann empfehle ich Ihnen nur jedes $Using: Variable innerhalb der Skript zu einem lokalen Variablen zuweisen:

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

Ich schrieb eine ausführlichere Erklärung how $Using: is implemented auf meinem Blog bezüglich der Verwendung in DSC-Skript-Ressourcen.