El guión es bastante sencillo. Simplemente intenta iniciar un montón de servicios de Windows. La ejecución localmente funciona bien cuando está en la máquina de destino. El script también se está ejecutando bien cuando se realiza a través de PsExec, simplemente nunca regresa hasta que presiono la tecla "enter" en mi indicador CMD. Esto es un problema, porque se está llamando desde TeamCity y hace que el Agente se cuelgue esperando que PsExec regrese.
He intentado lo siguiente:
- Agregar un
exit
yexit 0
al final del script Powershell - Agregar
< NUL
a al final de la llamada PsExec, según la respuesta en esta pregunta de SF - Agregar una
>
redirección stdout
Así es como en realidad estoy llamando psexec:
psexec \\target -u domain\username -p password powershell c:\path\script.ps1
No importa lo que haga, se bloquea hasta que localmente en el indicador de cmd. Después de presionar enter, recibo el mensaje:
powershell exited on target with error code 0.