Tengo un montón de scripts que se ejecutan como tareas programadas. Entonces hacen un $host.setshouldexit(1)
en cualquier falla, que aparece en el planificador de tareas como el código de retorno.Cómo devolver un código de salida de un script de Powershell solo cuando se ejecuta de forma no interactiva
También quiero ser capaz de ejecutar estos scripts interactivamente mientras se depuran y prueban. Entonces, el $host.setshouldexit()
mata mi sesión powershell o ISE.
Mi pregunta es: ¿cómo puedo detectar si un script se ejecuta de forma no interactiva? Si es así, entonces usaré setshouldexit
, de lo contrario, se imprimirá el código de error o algo no destructivo. (Tenga en cuenta que no quiero utilizar [environment]::userinteractive
porque estos scripts no siempre se ejecutan en lo que el sistema operativo piensa que es una sesión no interactiva.)
Existe un interruptor no interactivo que estoy usando para las tareas programadas . ¿Hay alguna forma de que pueda consultar eso desde PowerShell?
Hmm, eso no es tan malo. Me lo llevo. – scobi