我正面临一个疯狂的问题。
使用 PsExec 在服务器上远程运行批处理文件。当我在命令行中使用相同的命令参数时,一切正常。
这是我的批处理文件:
@ECHO OFF
ECHO %USER% >> "D:\Temp\TextFile.txt"
这是我对远程服务器的调用:
var cmdFileOnRemoteServer = "D:\Temp\myBatchFile.cmd"
var cmdExe = @"C:\Exe\PsExec.exe";
var cmdArgs = string.Format(@"\\{0} -accepteula -u {1} -p {2} {3} {4}", serverName, userName, passWord, cmdFileOnRemoteServer, utilisateur;
proc = new Process();
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.FileName = cmdExe;
proc.StartInfo.Arguments = cmdArgs;
proc.Start();
proc.WaitForExit();
var exitCode = proc.ExitCode;
exitCode = 0 始终我正在使用应用程序池中的 Asp.NET MVC 应用程序。我已经使用了 PsExec 的所有选项。我将远程服务器上的所有权限授予运行网站的应用程序池。网站安装在使用 PsExec 的服务器上。
任何帮助都将不胜感激。谢谢。