pkg/windows/modules/start-process-and-test-exitcode.psm1
Function Start_Process_and_test_exitcode {
# This function is a wrapper for Start-Process that checks the exitcode
# It receives 3 parameters:
# $fun - the process that shall be started
# $args - the the arguments of $fun
# $descr - the short description shown in the case of an error
Param(
[Parameter(Mandatory=$true)] [String] $fun,
[Parameter(Mandatory=$true)] [String] $args,
[Parameter(Mandatory=$true)] [String] $descr
)
Begin { Write-Host "Executing Command: $fun $args" }
Process {
$p = Start-Process "$fun" -ArgumentList "$args" -Wait -PassThru
If ($p.ExitCode -ne 0) {
Write-Error "$descr returned exitcode $p.ExitCode."
exit $p.ExitCode
}
}
End { Write-Host "Finished Executing Command: $fun $args" }
}