powershellprocessstartinfostart-process

Converting from Start-process to System.Diagnostics.Process


We have working powershell script ran through start-process

$EncodedCommand = 'JABFAHIAcgBvAHIALgBjAGwAZQBhAHIAKAApAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIABbAHMAdAByAGkAbgBnAF0AIAAkAEUAbgBjAG8AZABlAGQAQQByAGcAdQBtAGUAbgB0AHMAIAA9ACAAJwBQAEEAQgBQAEEARwBJAEEAYQBnAEIAegBBAEMAQQBBAFYAZwBCAGwAQQBIAEkAQQBjAHcAQgBwAEEARwA4AEEAYgBnAEEAOQBBAEMASQBBAE0AUQBBAHUAQQBEAEUAQQBMAGcAQQB3AEEAQwA0AEEATQBRAEEAaQBBAEMAQQBBAGUAQQBCAHQAQQBHAHcAQQBiAGcAQgB6AEEARAAwAEEASQBnAEIAbwBBAEgAUQBBAGQAQQBCAHcAQQBEAG8AQQBMAHcAQQB2AEEASABNAEEAWQB3AEIAbwBBAEcAVQBBAGIAUQBCAGgAQQBIAE0AQQBMAGcAQgB0AEEARwBrAEEAWQB3AEIAeQBBAEcAOABBAGMAdwBCAHYAQQBHAFkAQQBkAEEAQQB1AEEARwBNAEEAYgB3AEIAdABBAEMAOABBAGMAQQBCAHYAQQBIAGMAQQBaAFEAQgB5AEEASABNAEEAYQBBAEIAbABBAEcAdwBBAGIAQQBBAHYAQQBEAEkAQQBNAEEAQQB3AEEARABRAEEATAB3AEEAdwBBAEQAUQBBAEkAZwBBACsAQQBBADAAQQBDAGcAQQBnAEEAQwBBAEEAUABBAEIAUABBAEcASQBBAGEAZwBBAGcAQQBGAEkAQQBaAFEAQgBtAEEARQBrAEEAWgBBAEEAOQBBAEMASQBBAE0AQQBBAGkAQQBEADQAQQBEAFEAQQBLAEEAQwBBAEEASQBBAEEAZwBBAEMAQQBBAFAAQQBCAFUAQQBFADQAQQBJAEEAQgBTAEEARwBVAEEAWgBnAEIASgBBAEcAUQBBAFAAUQBBAGkAQQBEAEEAQQBJAGcAQQArAEEAQQAwAEEAQwBnAEEAZwBBAEMAQQBBAEkAQQBBAGcAQQBDAEEAQQBJAEEAQQA4AEEARgBRAEEAUABnAEIAVABBAEgAawBBAGMAdwBCADAAQQBHAFUAQQBiAFEAQQB1AEEARQA4AEEAWQBnAEIAcQBBAEcAVQBBAFkAdwBCADAAQQBGAHMAQQBYAFEAQQA4AEEAQwA4AEEAVgBBAEEAKwBBAEEAMABBAEMAZwBBAGcAQQBDAEEAQQBJAEEAQQBnAEEAQwBBAEEASQBBAEEAOABBAEYAUQBBAFAAZwBCAFQAQQBIAGsAQQBjAHcAQgAwAEEARwBVAEEAYgBRAEEAdQBBAEUARQBBAGMAZwBCAHkAQQBHAEUAQQBlAFEAQQA4AEEAQwA4AEEAVgBBAEEAKwBBAEEAMABBAEMAZwBBAGcAQQBDAEEAQQBJAEEAQQBnAEEAQwBBAEEASQBBAEEAOABBAEYAUQBBAFAAZwBCAFQAQQBIAGsAQQBjAHcAQgAwAEEARwBVAEEAYgBRAEEAdQBBAEUAOABBAFkAZwBCAHEAQQBHAFUAQQBZAHcAQgAwAEEARAB3AEEATAB3AEIAVQBBAEQANABBAEQAUQBBAEsAQQBDAEEAQQBJAEEAQQBnAEEAQwBBAEEAUABBAEEAdgBBAEYAUQBBAFQAZwBBACsAQQBBADAAQQBDAGcAQQBnAEEAQwBBAEEASQBBAEEAZwBBAEQAdwBBAFQAQQBCAFQAQQBGAFEAQQBQAGcAQQBOAEEAQQBvAEEASQBBAEEAZwBBAEMAQQBBAEkAQQBBAGcAQQBDAEEAQQBQAEEAQgBUAEEARAA0AEEAZABBAEIAbABBAEgATQBBAGQAQQBBAHQAQQBIAFEAQQBaAFEAQgB6AEEASABRAEEATABRAEIAMABBAEcAVQBBAGMAdwBCADAAQQBEAHcAQQBMAHcAQgBUAEEARAA0AEEARABRAEEASwBBAEMAQQBBAEkAQQBBAGcAQQBDAEEAQQBJAEEAQQBnAEEARAB3AEEAVAB3AEIAaQBBAEcAbwBBAEkAQQBCAFMAQQBHAFUAQQBaAGcAQgBKAEEARwBRAEEAUABRAEEAaQBBAEQARQBBAEkAZwBBACsAQQBBADAAQQBDAGcAQQBnAEEAQwBBAEEASQBBAEEAZwBBAEMAQQBBAEkAQQBBAGcAQQBDAEEAQQBQAEEAQgBFAEEARgBRAEEAUABnAEEAeQBBAEQAQQBBAE0AZwBBAHkAQQBDADAAQQBNAEEAQQAzAEEAQwAwAEEATQBBAEEAMwBBAEYAUQBBAE0AQQBBAHgAQQBEAG8AQQBNAEEAQQA0AEEARABvAEEATgBRAEEAMgBBAEMANABBAE4AUQBBADMAQQBEAFEAQQBPAFEAQQB5AEEARABrAEEATgBRAEEAcgBBAEQAQQBBAE0AdwBBADYAQQBEAEEAQQBNAEEAQQA4AEEAQwA4AEEAUgBBAEIAVQBBAEQANABBAEQAUQBBAEsAQQBDAEEAQQBJAEEAQQBnAEEAQwBBAEEASQBBAEEAZwBBAEMAQQBBAEkAQQBBADgAQQBFADAAQQBVAHcAQQArAEEAQQAwAEEAQwBnAEEAZwBBAEMAQQBBAEkAQQBBAGcAQQBDAEEAQQBJAEEAQQBnAEEAQwBBAEEASQBBAEEAZwBBAEQAdwBBAFQAdwBCAGkAQQBHAG8AQQBJAEEAQgBPAEEARAAwAEEASQBnAEIARQBBAEcAawBBAGMAdwBCAHcAQQBHAHcAQQBZAFEAQgA1AEEARQBnAEEAYQBRAEIAdQBBAEgAUQBBAEkAZwBBAGcAQQBGAEkAQQBaAFEAQgBtAEEARQBrAEEAWgBBAEEAOQBBAEMASQBBAE0AZwBBAGkAQQBEADQAQQBEAFEAQQBLAEEAQwBBAEEASQBBAEEAZwBBAEMAQQBBAEkAQQBBAGcAQQBDAEEAQQBJAEEAQQBnAEEAQwBBAEEASQBBAEEAZwBBAEQAdwBBAFYAQQBCAE8AQQBDAEEAQQBVAGcAQgBsAEEARwBZAEEAUwBRAEIAawBBAEQAMABBAEkAZwBBAHgAQQBDAEkAQQBQAGcAQQBOAEEAQQBvAEEASQBBAEEAZwBBAEMAQQBBAEkAQQBBAGcAQQBDAEEAQQBJAEEAQQBnAEEAQwBBAEEASQBBAEEAZwBBAEMAQQBBAEkAQQBBAGcAQQBEAHcAQQBWAEEAQQArAEEARQAwAEEAYQBRAEIAagBBAEgASQBBAGIAdwBCAHoAQQBHADgAQQBaAGcAQgAwAEEAQwA0AEEAVQBBAEIAdgBBAEgAYwBBAFoAUQBCAHkAQQBGAE0AQQBhAEEAQgBsAEEARwB3AEEAYgBBAEEAdQBBAEUATQBBAGIAdwBCAHQAQQBHADAAQQBZAFEAQgB1AEEARwBRAEEAYwB3AEEAdQBBAEUAUQBBAGEAUQBCAHoAQQBIAEEAQQBiAEEAQgBoAEEASABrAEEAUwBBAEIAcABBAEcANABBAGQAQQBCAFUAQQBIAGsAQQBjAEEAQgBsAEEARAB3AEEATAB3AEIAVQBBAEQANABBAEQAUQBBAEsAQQBDAEEAQQBJAEEAQQBnAEEAQwBBAEEASQBBAEEAZwBBAEMAQQBBAEkAQQBBAGcAQQBDAEEAQQBJAEEAQQBnAEEAQwBBAEEASQBBAEEAOABBAEYAUQBBAFAAZwBCAFQAQQBIAGsAQQBjAHcAQgAwAEEARwBVAEEAYgBRAEEAdQBBAEUAVQBBAGIAZwBCADEAQQBHADAAQQBQAEEAQQB2AEEARgBRAEEAUABnAEEATgBBAEEAbwBBAEkAQQBBAGcAQQBDAEEAQQBJAEEAQQBnAEEAQwBBAEEASQBBAEEAZwBBAEMAQQBBAEkAQQBBAGcAQQBDAEEAQQBJAEEAQQBnAEEARAB3AEEAVgBBAEEAKwBBAEYATQBBAGUAUQBCAHoAQQBIAFEAQQBaAFEAQgB0AEEAQwA0AEEAVgBnAEIAaABBAEcAdwBBAGQAUQBCAGwAQQBGAFEAQQBlAFEAQgB3AEEARwBVAEEAUABBAEEAdgBBAEYAUQBBAFAAZwBBAE4AQQBBAG8AQQBJAEEAQQBnAEEAQwBBAEEASQBBAEEAZwBBAEMAQQBBAEkAQQBBAGcAQQBDAEEAQQBJAEEAQQBnAEEAQwBBAEEASQBBAEEAZwBBAEQAdwBBAFYAQQBBACsAQQBGAE0AQQBlAFEAQgB6AEEASABRAEEAWgBRAEIAdABBAEMANABBAFQAdwBCAGkAQQBHAG8AQQBaAFEAQgBqAEEASABRAEEAUABBAEEAdgBBAEYAUQBBAFAAZwBBAE4AQQBBAG8AQQBJAEEAQQBnAEEAQwBBAEEASQBBAEEAZwBBAEMAQQBBAEkAQQBBAGcAQQBDAEEAQQBJAEEAQQBnAEEAQwBBAEEAUABBAEEAdgBBAEYAUQBBAFQAZwBBACsAQQBBADAAQQBDAGcAQQBnAEEAQwBBAEEASQBBAEEAZwBBAEMAQQBBAEkAQQBBAGcAQQBDAEEAQQBJAEEAQQBnAEEAQwBBAEEASQBBAEEAOABBAEYAUQBBAGIAdwBCAFQAQQBIAFEAQQBjAGcAQgBwAEEARwA0AEEAWgB3AEEAKwBBAEUAUQBBAFkAUQBCADAAQQBHAFUAQQBWAEEAQgBwAEEARwAwAEEAWgBRAEEAOABBAEMAOABBAFYAQQBCAHYAQQBGAE0AQQBkAEEAQgB5AEEARwBrAEEAYgBnAEIAbgBBAEQANABBAEQAUQBBAEsAQQBDAEEAQQBJAEEAQQBnAEEAQwBBAEEASQBBAEEAZwBBAEMAQQBBAEkAQQBBAGcAQQBDAEEAQQBJAEEAQQBnAEEARAB3AEEAUwBRAEEAegBBAEQASQBBAFAAZwBBAHkAQQBEAHcAQQBMAHcAQgBKAEEARABNAEEATQBnAEEAKwBBAEEAMABBAEMAZwBBAGcAQQBDAEEAQQBJAEEAQQBnAEEAQwBBAEEASQBBAEEAZwBBAEMAQQBBAEkAQQBBAGcAQQBEAHcAQQBMAHcAQgBQAEEARwBJAEEAYQBnAEEAKwBBAEEAMABBAEMAZwBBAGcAQQBDAEEAQQBJAEEAQQBnAEEAQwBBAEEASQBBAEEAZwBBAEMAQQBBAFAAQQBBAHYAQQBFADAAQQBVAHcAQQArAEEAQQAwAEEAQwBnAEEAZwBBAEMAQQBBAEkAQQBBAGcAQQBDAEEAQQBJAEEAQQA4AEEAQwA4AEEAVAB3AEIAaQBBAEcAbwBBAFAAZwBBAE4AQQBBAG8AQQBJAEEAQQBnAEEAQwBBAEEASQBBAEEAZwBBAEMAQQBBAFAAQQBCAEMAQQBEADQAQQBkAEEAQgB5AEEASABVAEEAWgBRAEEAOABBAEMAOABBAFEAZwBBACsAQQBBADAAQQBDAGcAQQBnAEEAQwBBAEEASQBBAEEAZwBBAEQAdwBBAEwAdwBCAE0AQQBGAE0AQQBWAEEAQQArAEEAQQAwAEEAQwBnAEEAZwBBAEMAQQBBAFAAQQBBAHYAQQBFADgAQQBZAGcAQgBxAEEARAA0AEEARABRAEEASwBBAEQAdwBBAEwAdwBCAFAAQQBHAEkAQQBhAGcAQgB6AEEARAA0AEEAJwANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJABBAHIAZwB1AG0AZQBuAHQAcwAgACAAPQAgAFsAUwB5AHMAdABlAG0ALgBNAGEAbgBhAGcAZQBtAGUAbgB0AC4AQQB1AHQAbwBtAGEAdABpAG8AbgAuAFAAUwBTAGUAcgBpAGEAbABpAHoAZQByAF0AOgA6AEQAZQBzAGUAcgBpAGEAbABpAHoAZQAoACAAWwBTAHkAcwB0AGUAbQAuAFQAZQB4AHQALgBFAG4AYwBvAGQAaQBuAGcAXQA6ADoAVQBuAGkAYwBvAGQAZQAuAEcAZQB0AFMAdAByAGkAbgBnACgAWwBTAHkAcwB0AGUAbQAuAEMAbwBuAHYAZQByAHQAXQA6ADoARgByAG8AbQBCAGEAcwBlADYANABTAHQAcgBpAG4AZwAoACAAJABFAG4AYwBvAGQAZQBkAEEAcgBnAHUAbQBlAG4AdABzACAAKQApACAAKQANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACQAUwBjAHIAaQBwAHQAQgBsAG8AYwBrACAAPQAgAHsADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIwBzAGIAMQAgAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAcABhAHIAYQBtACgAIAAkAFAAYQByAGEAbQAxACwAIAAkAFAAYQByAGEAbQAyACwAIAAkAFAAYQByAGEAbQAzACAAKQANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIwByAGUAZwBpAG8AbgAgAE8AdQB0AGUAcgAgAHMAYwByAGkAcAB0ACAAYQBkAGQAaQB0AGkAbwBuAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABTAHQAYQByAHQALQBUAHIAYQBuAHMAYwByAGkAcAB0ACAALQBwAGEAdABoACAAIgBDADoAXABVAHMAZQByAHMAXABQAHUAYgBsAGkAYwBcAFQATQBQAFwAVAByAGEAbgBzAGMAcgBpAHAAdAAuAHQAeAB0ACIAIAAtAGYAbwByAGMAZQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACQARwBsAG8AYgBhAGwAOgBQAFMAUwBjAHIAaQBwAHQATgBhAG0AZQAgAD0AIAAgACIAUwBjAHIAaQBwAHQAYgBsAG8AYwBrACIACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAkAFAAUwBDAG8AbQBtAGEAbgBkAFAAYQB0AGgAIAA9ACAAIgBDADoAXABVAHMAZQByAHMAXABBAGwAZQB4AFwAQQBwAHAARABhAHQAYQBcAEwAbwBjAGEAbABcAFQAZQBtAHAAXABTAGMAcgBpAHAAdABiAGwAbwBjAGsAIgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAjAGUAbgBkAHIAZQBnAGkAbwBuAA0ACgANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAGcAZQB0AC0AZABhAHQAZQANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACQAVQBzAGUAcgAgAD0AIAB3AGgAbwBhAG0AaQANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACQAUgB1AG4AYQBzACAAPQAgAFQAZQBzAHQALQBFAGwAZQB2AGEAdABlAGQAUgBpAGcAaAB0AHMADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAB3AHIAaQB0AGUALQBoAG8AcwB0ACAAIgBVAHMAZQByACAAPQAgACQAVQBzAGUAcgAiAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAdwByAGkAdABlAC0AaABvAHMAdAAgACIAUgB1AG4AYQBzACAAPQAgACQAUgB1AG4AYQBzACIADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAB3AHIAaQB0AGUALQBoAG8AcwB0ACAAIgBQAGEAcgBhAG0AMQAgAD0AIAAkAFAAYQByAGEAbQAxACIADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAB3AHIAaQB0AGUALQBoAG8AcwB0ACAAIgBQAGEAcgBhAG0AMgAgAD0AIAAkAFAAYQByAGEAbQAyACIADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAB3AHIAaQB0AGUALQBoAG8AcwB0ACAAIgBQAGEAcgBhAG0AMwAgAD0AIAAkAFAAYQByAGEAbQAzACIADQAKAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIwByAGUAZwBpAG8AbgAgAE8AdQB0AGUAcgAgAHMAYwByAGkAcAB0ACAAYQBkAGQAaQB0AGkAbwBuACAAKAByAGUAdAB1AHIAbgAgAHIAZQBwAGwAYQBjAGUAKQANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJABVAHMAZQByACAAfAAgAEUAeABwAG8AcgB0AC0AQwBsAGkAWABNAEwAIAAtAFAAYQB0AGgAIAAiAEMAOgBcAFUAcwBlAHIAcwBcAFAAdQBiAGwAaQBjAFwAVABNAFAAXABSAGUAcwB1AGwAdAAuAHgAbQBsACIAIAAtAEYAbwByAGMAZQANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAdAByAHkAewAgAHMAdABvAHAALQB0AHIAYQBuAHMAYwByAGkAcAB0ACAAfQBjAGEAdABjAGgAewB9AA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAjAGUAeABpAHQADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAjAGUAbgBkAHIAZQBnAGkAbwBuAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAB9AA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAASQBuAHYAbwBrAGUALQBDAG8AbQBtAGEAbgBkACAALQBTAGMAcgBpAHAAdABCAGwAbwBjAGsAIAAkAFMAYwByAGkAcAB0AEIAbABvAGMAawAgAC0AQQByAGcAdQBtAGUAbgB0AEwAaQBzAHQAIAAgACQAQQByAGcAdQBtAGUAbgB0AHMA'

$Arguments =  '-Noexit', '-NoLogo', '–NoProfile', '-ExecutionPolicy RemoteSigned', "-EncodedCommand $EncodedCommand"

# line below executed successfully
start-process -filepath powershell -ArgumentList $Arguments

Now we should transform our code to use System.Diagnostics.Process

$Process = New-Object System.Diagnostics.Process

$ProcessStartInfoParam = [ordered]@{
    Arguments              = ( "'" + ( $Arguments -join "', '" ) + "'" )
    CreateNoWindow         = $False
    FileName               = 'powershell'
    WindowStyle            = 'Normal'
    LoadUserProfile        = $False
    UseShellExecute        = $False
}

$ProcessStartInfo = New-Object -TypeName 'System.Diagnostics.ProcessStartInfo' -Property $ProcessStartInfoParam

$Process.StartInfo = $ProcessStartInfo
$StartResult = $Process.Start()

We have no script output and $StartResult is true. Also trying to remove '-Noexit' argument. I want to have new window with output like in first example.


Solution

  • You are joining the arguments incorrectly. Command-line arguments must be separated by space and quoted using double-quotation marks. In your case you don't need quoting as the arguments don't contain whitespace.

    Try this:

    $ProcessStartInfoParam = [ordered]@{
        Arguments              = $Arguments -join ' '
        CreateNoWindow         = $False
        FileName               = 'powershell'
        WindowStyle            = 'Normal'
        LoadUserProfile        = $False
        UseShellExecute        = $False
    }