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

Powershell

Powershell Problem Overview


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.

Powershell Solutions


Solution 1 - Powershell

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

Solution 2 - Powershell

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionurigView Question on Stackoverflow
Solution 1 - PowershellJaredParView Answer on Stackoverflow
Solution 2 - PowershellAjay Kumar K KView Answer on Stackoverflow