How do you correctly exit a remote job in a PowerShell session

604 views Asked by At

I have a number of remote jobs started with a Powerhsell invoke-command -session command. In some cases, at least one of the remote child job exits, but the local PS session state reports the jobs as "Running" and the session hangs waiting for the job to finish.

Is this a known bug in PSv2? Is there a workaround or technique to allow PS to correctly detect when a remote child job exits?

2

There are 2 answers

0
PowerShellGirl On

When you are using Invoke-Command -Session I believe you will need to use the Get-PSSession command to get the updated status. From Technet:

-Session

Runs the command in the specified Windows PowerShell sessions (PSSessions). Enter a variable that contains the PSSessions or a command that creates or gets the PSSessions, such as a New-PSSession or Get-PSSession command.

0
Rajiv Iyer On

How about: Remove-PSSession

Get-PSSession | Remove-PSSession
Remove-PSSession -Session (Get-PSSession)
$s = Get-PSSession
Remove-PSSession -Session $s

OR

$r = Get-PSSession -ComputerName Serv*
$r | Remove-PSSession

Powershell Core: Remove-PSSession