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

Jon*_*ood 2 msbuild batch-file psexec tfsbuild tfs2010

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

<Exec Command="psexec -accepteula \\servername D:\Build_Drop\DeploySites.bat "/>
Run Code Online (Sandbox Code Playgroud)

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

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

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

有任何想法吗?

Jon*_*ood 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.
Run Code Online (Sandbox Code Playgroud)

但该命令确实有效