The standard βmanualβ method is to use the Get-Job cmdlet. As for events, when you create a job using Start-Job, the returned Job object has a "StateChanged" event that you can subscribe to, for example:
$job = Start-Job { Get-Process; Start-Sleep -seconds 60 } Register-ObjectEvent $job -EventName StateChanged ` -SourceIdentifier JobStateChanged ` -Action { Write-Host "Job $($Sender.Id) $($Sender.JobStateInfo)" }
source share