PSMDTAG:FAQ: How can my script control the PowerShell exit code?
Answers:
1. A normal termination will set the exitcode to 0
2. An uncaught THROW will set the exitcode to 1
3. The EXIT statement will stop the process and set the exitcode to whatever is specified.
c:\>powershell -noprofile -command "Write-output Test"Testc:\>echo %errorlevel%0c:\>powershell -noprofile -command "Write-output Test; throw 'ERROR'"TestERRORAt line:1 char:25+ Write-output Test; throw <<<< 'ERROR'c:\>echo %errorlevel%1c:\>powershell -noprofile -command "Write-output Test; exit 31492"Testc:\>echo %errorlevel%31492
Jeffrey Snover [MSFT]Windows PowerShell/MMC ArchitectVisit the Windows PowerShell Team blog at: http://blogs.msdn.com/PowerShellVisit the Windows PowerShell ScriptCenter athttp://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx