Le script est assez simple. Essaie simplement de démarrer un tas de services Windows. L'exécution fonctionne localement correctement sur la machine cible. Le script s'exécute également très bien lorsqu'il est effectué via PsExec, il ne revient jamais jusqu'à ce que j'appuie sur la touche "Entrée" de mon invite CMD. Il s'agit d'un problème, car cela est appelé à partir de TeamCity, et cela fait que l'agent se bloque en attendant le retour de PsExec.
J'ai essayé ce qui suit:
- Ajout d'un
exit
etexit 0
à la fin du script Powershell - Ajout d'un
< NUL
à la fin de l'appel PsExec, selon la réponse à cette question SF - Ajout d'une
>
redirection stdout
Voici comment j'appelle réellement psexec:
psexec \\target -u domain\username -p password powershell c:\path\script.ps1
Peu importe ce que je fais, il se bloque jusqu'à ce que je le localement sur l'invite cmd. Après avoir appuyé sur Entrée, je reçois le message:
powershell exited on target with error code 0.