有没有办法通过rdp运行本地程序,比如:
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.FileName = @"G:\PSTools\PsExec.exe";
p.StartInfo.Arguments = @"\\tsclient calc.exe";
p.Start();
string output = p.StandardOutput.ReadToEnd();
string errormessage = p.StandardError.ReadToEnd();
p.WaitForExit();在这种情况下我得到了:
句柄无效。连接到tsclient .无法访问tsclient
谢谢
发布于 2017-08-10 08:21:11
最后,我们进行了PowerShell远程处理。使用WMI的前两种方法依赖于在计算机上启用远程DCOM。这可能是问题,也可能不是问题,但有时会造成安全风险。您还可以通过调用命令cmdlet使用PowerShell远程处理来启动远程计算机上的进程,以及通过WSMAN启动进程,WSMAN是一种更新的、更安全的协议。 为此,我们将使用两个cmdlet的组合: Invoke-Command使我们能够在远程计算机上运行命令,并启动进程来实际执行进程。
Invoke-Command –ComputerName MEMBERSRV1 –ScriptBlock {Start-Process notepad.exe}取自这里
这也是一个完全相同的问题:所以
您不需要仅仅为了启动远程进程就运行RDP。远程命令执行有多种库和协议。我建议阅读链接,以获得有关如何执行psExec调用的更多信息。
https://stackoverflow.com/questions/45607886
复制相似问题