该脚本相当简单。只需尝试启动一堆Windows服务。在目标计算机上时,本地执行可以正常工作。通过PsExec完成后,脚本实际上也可以很好地执行,直到我在CMD提示符上按“ enter”键后,脚本才永远不会返回。这是一个问题,因为这是从TeamCity调用的,它使代理挂起以等待PsExec返回。
我尝试了以下方法:
- 在Powershell脚本的末尾添加
exit
和exit 0
< NUL
根据此SF问题中的答案,在PsExec调用的末尾添加a- 添加
>
标准输出重定向
这就是我实际上打电话给psexec的方式:
psexec \\target -u domain\username -p password powershell c:\path\script.ps1
无论我做什么,它都将挂起,直到我在本地出现在cmd提示符下为止。点击回车后,我收到消息:
powershell exited on target with error code 0.