我正在尝试在 C# 中的 Winform .NET 4.0 中编写多个远程桌面连接的脚本。
给定 _serverList 中的服务器名称列表,
var startInfo = new ProcessStartInfo
{
FileName = "cmd.exe",
RedirectStandardInput = true,
RedirectStandardOutput = true,
UseShellExecute = false,
CreateNoWindow = false
};
var process = new Process { StartInfo = startInfo };
process.Start();
foreach (string server in _serverList)
{
process.StandardInput.WriteLine(@"mstsc.exe /v:" + server);
}
当我在本地桌面(Windows 7)上运行它时,它工作得非常好:所有服务器都已启动,但是一旦我将应用程序移植到服务器上(Windows Server 2003 r 2,并且触发此事件的事件发生,我得到错误
“mstsc.exe”不是内部或外部命令、可运行程序或批处理文件
我尝试了提供 mstsc.exe 的完整路径、更改 FileName = "mstsc.exe" 并将服务器名称作为参数提供的变体,但没有任何效果。
当我在服务器上启动 cmd.exe 并手动输入“mstsc.exe /v: someservername”时,行为符合预期并启动了正确的服务器。
任何对出了什么问题的见解将不胜感激