스크립트는 매우 간단합니다. 단순히 Windows 서비스를 시작하려고합니다. 대상 컴퓨터에서 실행하면 로컬에서 제대로 작동합니다. 스크립트는 PsExec을 통해 수행 될 때 실제로 잘 실행되며 CMD 프롬프트에서 "enter"키를 누르기 전까지는 반환되지 않습니다. 이것은 TeamCity에서 호출되기 때문에 문제이며, PsExec이 돌아 오기를 기다리는 동안 에이전트를 정지시킵니다.
나는 다음을 시도했다.
- Powershell 스크립트 끝에
exit
및 추가하기exit 0
- 이 SF 질문
< NUL
의 답변에 따라 PsExec 호출 끝에 a 추가 >
stdout 리디렉션 추가
이것이 실제로 psexec를 호출하는 방법입니다.
psexec \\target -u domain\username -p password powershell c:\path\script.ps1
내가 무엇을하든 cmd 프롬프트에서 로컬로 할 때까지 중단됩니다. Enter 키를 누르면 메시지가 나타납니다.
powershell exited on target with error code 0.