微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Windows远程服务器中运行一个命令,并以C#.NET取回控制台输出

我有一个Remote Server name (Windows), username和password 。

使用C#.Net,我想在远程服务器上run a command ,并取回console output

有没有办法在C#中做到这一点?

我能够运行下面的代码(部分)使用WMI命令,但没有得到控制台输出的运气。 我只能找回Process ID 。

使用button/事件来显示一个新的窗体并隐藏现有的C#

如何获得服务器上打开的HTTP连接的总数?

AsyncIO.ForceDotNet.Force()导致Windows XP上的内存泄漏

我应该如何在Windows上创build自定义graphics控制台/terminal?

通过C#确定本地组的成员

ObjectGetoptions objectGetoptions = new ObjectGetoptions(); ManagementPath managementPath = new ManagementPath("Win32_Process"); ManagementClass processClass = new ManagementClass(scope,managementPath,objectGetoptions); ManagementBaSEObject inParams = processClass.getmethodParameters("Create"); inParams["CommandLine"] = "cmd.exe /c "+ mycommand; ManagementBaSEObject outParams = processClass.InvokeMethod("Create",inParams,null);

有任何想法吗?

C#在操作系统窗口中设置环境variables(不执行)

应用程序忙,但没有响应:如何检查它在做什么?

运行Windows 7模拟器而不需要wddm 1.1

Windows服务不能在冷启动时启动

我怎样才能让光盘在DVD ROM驱动器中旋转?

这个功能是我经过一番研究后想出来的。 希望它可以帮助别人。

public string executeCommand(string serverName,string username,string password,string domain=null,string command) { try { System.Diagnostics.Process process = new System.Diagnostics.Process(); System.Diagnostics.processstartinfo startInfo = new System.Diagnostics.processstartinfo(); startInfo.RedirectStandardOutput = true; startInfo.UseShellExecute = false; startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; startInfo.FileName = "cmd.exe"; if (null != username) { if (null != domain) { startInfo.Arguments = "/C "psexec.exe \\" + serverName + " -u " + domain+"\"+username + " -p " + password + " " + command + """; } else { startInfo.Arguments = "/C "psexec.exe \\" + serverName + " -u " + username + " -p " + password + " " + command + """; } } else { startInfo.Arguments = "/C "utils\psexec.exe "+serverName+" "+ command + """; } process.StartInfo = startInfo; process.Start(); process.WaitForExit(); if (process.ExitCode == 0 && null != process && process.HasExited) { return process.StandardOutput.ReadToEnd(); } else { return "Error running the command : "+command; } } catch (Exception ex) { throw ex; } }

您可以尝试使用PsTools执行命令。 他们提供的许多功能之一是PsExec 。 它允许您在远程服务器上运行命令。 它也应该返回结果到一个控制台(在本地PC上运行)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐