Executing a scriptblock via startprocess

chris picture chris · Sep 6, 2011 · Viewed 18.2k times · Source

Would any of you possibly know why this is not working?

Start-Process $PSHOME\powershell.exe -ArgumentList "-NoExit -Command & `"{$outvar1 = 4+4; `"out: $outvar1`"}`"" -Wait

The ultimate purpose for this is so that i can run a script block as another user with the addition of the -Credential option. But i can not get this simple script block to work yet. Many thanks. Chris.

Answer

JPBlanc picture JPBlanc · Sep 6, 2011

Here is somthing that is working:

PS C:\> Start-Process $PSHOME\powershell.exe -ArgumentList "-NoExit","-Command  `"&{`$outvar1 = 4+4; `"write-output `$outvar1`"}`"" -Wait

-ArgumentList is an array of strings $outvar is interpreted so I use `$outvar