这是我目前用于使用psExec进行远程安装的命令。
psExec \\ MyRemoteComputer -s -c MyInstallationFile.exe / q
当我在命令提示符窗口中发出此命令时,它可以正常工作。如果无法访问MyRemoteComputer,则返回错误。之后,当我用“echo%errorlevel%”检查退出代码时,它返回53,这是正确的退出代码。
我用C#编写了这样的过程..
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = ".....psExec.exe";
startInfo.WorkingDirectory = ".....";
startInfo.Arguments = @"\\MyRemoteComputer -s -c MyInstallationFile.exe /q";
startInfo.UseShellExecute = false;
startInfo.RedirectStandardOutput = true;
startInfo.RedirectStandardError = true;
startInfo.CreateNoWindow = true;
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
Process proc = Process.Start(startInfo);
....
proc.WaitForExit();
Console.WriteLine(proc.ExitCode);
它运行正常..但是当我检查ExitCode时(显然,当无法访问myRemoteComputer时),它是6,不是53。 它有意义,为什么会发生这种情况,但有什么方法可以检索53值,而不是6?
我尝试了几件事......
他们都没有工作......我无法在代码中获得所需的返回值... 真的没办法检索我想要的值吗?
提前致谢。