首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c#使用PsExec通过RDP运行本地程序

c#使用PsExec通过RDP运行本地程序
EN

Stack Overflow用户
提问于 2017-08-10 08:06:18
回答 1查看 381关注 0票数 0

有没有办法通过rdp运行本地程序,比如:

代码语言:javascript
复制
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

谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-08-10 08:21:11

最后,我们进行了PowerShell远程处理。使用WMI的前两种方法依赖于在计算机上启用远程DCOM。这可能是问题,也可能不是问题,但有时会造成安全风险。您还可以通过调用命令cmdlet使用PowerShell远程处理来启动远程计算机上的进程,以及通过WSMAN启动进程,WSMAN是一种更新的、更安全的协议。 为此,我们将使用两个cmdlet的组合: Invoke-Command使我们能够在远程计算机上运行命令,并启动进程来实际执行进程。

代码语言:javascript
复制
Invoke-Command –ComputerName MEMBERSRV1 –ScriptBlock {Start-Process notepad.exe}

取自这里

这也是一个完全相同的问题:所以

您不需要仅仅为了启动远程进程就运行RDP。远程命令执行有多种库和协议。我建议阅读链接,以获得有关如何执行psExec调用的更多信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45607886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档