6

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?

cmcginty
  • 113,384
  • 42
  • 163
  • 163
  • Do you have any code to show what objects, or properties you are looking at? Have you tried to look at the *session's* *runspace*? [System.Management.Automation.RemoteRunspace] AvailabilityChanged event? – Jan Chrbolka Jun 17 '15 at 02:11
  • How do you determine that the child job exited? – Ansgar Wiechers Jun 17 '15 at 08:43

2 Answers2

1

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

Rajiv Iyer
  • 107
  • 1
  • 4
  • 11
0

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.