【发布时间】:2012-02-21 15:30:29
【问题描述】:
作为 Team Build MSBuild 脚本的一部分,我们有一个部署批处理文件,我需要在远程服务器上执行该文件:
<Exec Command="psexec -accepteula \\servername D:\Build_Drop\DeploySites.bat "/>
我可以确认它不是权限或防火墙:如果将 bat 命令更改为运行 iisreset 或 calc.exe,例如,该命令将起作用。
我已经尝试过 -s 和 >nul 标志,并将批处理文件包装在对 cmd 的调用中。我试过在 bat cmd 周围加引号和不加引号。
我尝试过的所有选项都可以在构建服务器上的 cmd 行中正常工作,但在构建脚本本身中都不能正常工作。
有什么想法吗?
【问题讨论】:
-
目标机器上的操作系统是什么?是否启用了 UAC?此外,如果您 RDP 进入构建机器并使用构建服务帐户执行相同的命令“psexec -accepteula \\servername D:\Build_Drop\DeploySites.bat”会发生什么?当它作为 Team Build 的一部分运行时,您应该获得相同的行为。当您在 RDP 会话中尝试它时,您可能会收到一些错误消息,而当它作为构建的一部分运行时您看不到这些错误消息。 Team Build 有“吃掉”异常消息的习惯。
标签: batch-file msbuild tfsbuild psexec