2016-12-08 10 views
2

私は、ホストのアレイに対して繰り返し実行し、リモートでコマンドを実行する簡単なスクリプトを用意しています。PowerShellセッションが終了しない

$myHost = @("hostA") 
$command = { hostname } 
foreach ($i in $myHost) { 
    Write-Host $i 
    $session = New-PSSession -ComputerName $i -Credential $cred 
    $res = Invoke-Command -Session $session -ScriptBlock $command 
    if ($?) { 
    $res 
    } 
    Remove-PSSession -Session $session 
} 

私はGet-PSSessionを行うとき、私はまだ生きているセッションを見ることができます。

+1

を役に立てば幸い? PSのバージョンとプラットフォームは何ですか? – mklement0

答えて

0

ちょっと微調整してください。ときどきPowershellは呼び出されたランスペースをセッションとして保持します。

$myHost = @("localhost") 
$command = { hostname } 
foreach ($i in $myHost) { 
    Write-Host $i 
    $session = New-PSSession -ComputerName $i -Credential $cred 
    $res = Invoke-Command -Session $session -ScriptBlock $command 
    if ($?) { 
    $res 
    } 
# Get all the sessions and remove at once. 
    Get-PSSession | Remove-PSSession 
} 

は、リモートセッションが離れて行く_eventually_ないか、それはあなたの現在のセッションが開いたまましかし、長期持続ん

関連する問題