obtener help comandos comando ayuda powershell return-value exit-code msiexec

help - Ejecute MsiExec desde PowerShell y obtenga el código de retorno



obtener ayuda de un comando powershell (2)

Con el script BAT/CMD , simplemente puedo usar "msiexec /i <whatever.msi> /quiet /norestart" y luego verificar %errorlevel% para el resultado.

Con VBScript , usando el Wscript.Shell Run() objeto Wscript.Shell , puedo obtener el resultado de esta manera:

"result = oShell.Run("msiexec /i ...", 1, True)"

¿Cómo puedo hacer esto con PowerShell?


Lo resumiría en Start-Process y usaría la propiedad ExitCode del objeto de proceso resultante. Por ejemplo

(Start-Process -FilePath "msiexec.exe" -ArgumentList "<<whatever>>" -Wait -Passthru).ExitCode


$LastExitCode

o

$?

dependiendo de lo que estás buscando El primero es un número entero, el último solo un booleano. Además, $LastExitCode solo se llena para los programas nativos que se ejecutan, mientras que $? generalmente indica si la ejecución del último comando fue exitosa o no, por lo que también se establecerá para cmdlets.

PS Home:/> cmd /c "echo foo"; $?,$LASTEXITCODE foo True 0 PS Home:/> cmd /c "ech foo"; $?,$LASTEXITCODE ''ech'' is not recognized as an internal or external command, operable program or batch file. False 1