Сценарий довольно прост. Просто пытается запустить кучу служб Windows. Выполнение локально работает нормально, когда на целевой машине. Сценарий на самом деле также работает нормально, когда выполняется через PsExec, он просто никогда не возвращается, пока я не нажму клавишу «enter» в моем приглашении CMD. Это проблема, потому что это вызывается из TeamCity, и это заставляет Агента зависать в ожидании возврата PsExec.
Я пробовал следующее:
- Добавление
exit
иexit 0
в конце скрипта Powershell - Добавление a
< NUL
в конец вызова PsExec согласно ответу на этот вопрос SF - Добавление
>
перенаправления stdout
Вот как я на самом деле вызываю psexec:
psexec \\target -u domain\username -p password powershell c:\path\script.ps1
Независимо от того, что я делаю, он зависает, пока я локально на приглашение cmd. После нажатия Enter я получаю сообщение:
powershell exited on target with error code 0.