执行批处理文件时,MSBuild PSExec会挂起而不会出错

时间:2012-02-21 15:30:30

标签: batch-file msbuild tfs2010 tfsbuild psexec

作为Team Build MSBuild脚本的一部分,我们需要在远程服务器上执行部署批处理文件:

<Exec Command="psexec -accepteula \\servername D:\Build_Drop\DeploySites.bat "/>

我可以确认它不是权限或防火墙:例如,如果将bat命令更改为运行iisreset或calc.exe,该命令将起作用。

我已经尝试了-s和&gt; nul标志,并且还在调用cmd时包装批处理文件。我已尝试使用和不使用引号围绕bat cmd。

我尝试的所有选项都可以在构建服务器上的cmd行中正常工作,但是没有一个可以在构建脚本本身内工作。

有什么想法吗?

1 个答案:

答案 0 :(得分:5)

在psexec中添加-i参数似乎已经奏效。

奇怪的是,我们现在收到错误消息:

The command "psexec -accepteula \\server -i cmd /c "D:\Build_Drop\DeploySites.bat"" exited with code 5. Please verify that you have sufficient rights to run this command.

但命令确实有效