Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Start-job vs. Invoke-command -asjob

I'm trying to do basic background jobs in PowerShell 2.0, and I'm seeing different things with start-job and invoke-command -asjob.

If I do this:

start-job -scriptblock {get-process}

I get a job object, but the child job (which is created automatically by start-job) always has a JobStateInfo of "NotStarted".

this, however, works as expected:

invoke-command -scriptblock {get-process} -computer localhost -asjob

I've run the enable-psremoting....anything else I need to do to get background jobs working?

like image 745
Mike Shepard Avatar asked Nov 12 '09 22:11

Mike Shepard


1 Answers

The first example using start-job does not use HTTP for the call and instead uses an IPC channel with WinRM to run; it does not require administrative privileges this way. The second example with invoke-command does require admin rights (by default) and will connect via HTTP and WinRM.

To be honest, I would have expected the second one to fail for most people. If you run: Receive-Job against the ID of the start-job invocation, do you get any error messages?

-Oisin

like image 142
x0n Avatar answered Oct 10 '22 06:10

x0n