Mi pregunta es muy similar a this one, excepto que estoy tratando de capturar el código de retorno de un ScriptBlock usando Invoke-Command (entonces no puedo usar la opción -FilePath). Aquí está mi código:Cómo capturar el valor de retorno de un ScriptBlock invocado con el Invoke-Command de Powershell
Invoke-Command -computername $server {\\fileserver\script.cmd $args} -ArgumentList $args
exit $LASTEXITCODE
El problema es que Invoke-Command no captura el código de retorno de script.cmd, así que no tengo forma de saber si falló o no. Necesito poder saber si script.cmd falló.
Intenté utilizar una New-PSSession también (lo que me permite ver el código de retorno de script.cmd en el servidor remoto) pero no encuentro ninguna forma de devolverlo a mi script de Powershell para hacer algo acerca de la falla.
Esto funcionó. No sabía que podía pasar variables remotas de una sesión al script local de esa manera. ¡Gracias! –
No '$ remotelastexitcode = invoke-command -ScriptBlock {cmd/c exit 2; $ lastexitcode} -Sesión $ remotesession' work? Como está usando las sesiones para dar múltiples comandos, probablemente pueda evitar eso. – manojlds
@manojlds sí, la captura de lastexitcode en el primer scriptblock también funcionará. –