Invoke an exe from PowerShell and get feedback on success or failure

How can I run an executable in PowerShell and through an if statement determine whether it succeeded or failed?

More specifically I'm trying to get devenv.exe to build a solution from a PowerShell script and I need to know whether it succeeded or failed. By failed, I mean that the build has failed and I'm assuming devenv is sending something out to the shell (possibly in the stderr stream?)

I tried using &, Invoke-Expression and Invoke-Item and managed to get all of them to run the exe. But I was never able to get feedback on success / failures.


Have you tried using the $LASTEXITCODE variable? It will contain the exit code of the last .exe that was invoked.

  • https://devblogs.microsoft.com/powershell/errorlevel-equivalent/

.\YOUREXE.exe
if($LASTEXITCODE -eq 0)
{
    Write-Host "The last PS command executed successfully"
} 
else 
{
    Write-Host "The last PS command failed"
}