2012-10-30 54 views

回答

2

管理員權限如果你只是希望「傳遞」與價值($ testport)一個變量的遠程會話,那麼你就可以完成,像這樣:

invoke-command -session $session -scriptblock {param($testport) 
    #create variable and assign it a value 
    set-variable -name:"testport" -value:$testport -force -erroraction silentlycontinue; 
} 

要一次發送多個變量(例如初始化與父會話的所有全局變量的遠程會話),他們收集到$哈希和使用這樣的:

invoke-command -session $session -scriptblock {param($hash, $setAsGlobal) 
#create global variable and assign value for each hash table entry 
if ($setAsGlobal -eq $true) { 
    foreach ($key in $hash.keys) { 
     set-variable -name:$key -value:$hash.$key -scope:'global' -force -erroraction silentlycontinue; 
    } 
} else { 
    foreach ($key in $hash.keys) { 
    set-variable -name:$key -value:$hash.$key -force -erroraction silentlycontinue; 
    } 
} 

從遠程獲得的可變後會話並分配給$結果:

$varname = "testport"; 
$result = invoke-command -session $session -scriptblock {param($varname) 
    get-variable -name $varname -valueonly 
} -argumentlist $varname 
相關問題