C#利用wmi 获得远程进程输出信息

Hi,大家好我遇到一个问题:我想利用C#的managementnamespace里的类操作wmi对象,用wmi对象调用远程计算机上的进程(比如一个批处理文件),然后获得进... Hi,大家好

我遇到一个问题:
我想利用C#的 management namespace 里的类操作wmi对象,用wmi对象调用远程计算机上的进程(比如一个批处理文件),然后获得进程的输出信息。该怎么弄呢?。。。

我之前看到了 System.Diagnostics 里有一个 Process类,利用它可以启动本地进程并且获得本地进程的输出信息(需要在进程启动前进行设置),不过因为安全原因这个类没办法操作远程进程(只能查询)。

Process myProcess = new Process();
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.RedirectStandardOutput = true;
string strRst = myProcess.StandardOutput.ReadToEnd();

高手来帮忙啊,先谢过了!
展开
 我来答
百度网友5f707f9
2009-02-07 · TA获得超过311个赞
知道小有建树答主
回答量:514
采纳率:0%
帮助的人:600万
展开全部
如果你不介意用第三方工具的话,那么介绍你一个微软合作伙伴赛门铁克出品的鼎鼎有名的psexec。该工具可以简单的远程执行命令/程序。

比方说你想远程操作192.168.0.102上面D盘根目录下的名叫abc.cmd的批处理文件,并且得到输出结果,你可以这样写代码。

Process myProcess = new Process();
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.RedirectStandardOutput = true;
myProcess.StartInfo.FileName = "psexec";
myProcess.StartInfo.Arguments = @"\\192.168.0.102 -u Administrator -p 123456 cmd /c d:\abc.cmd";
myProcess.Start();
myProcess.WaitForExit();
string strRst = myProcess.StandardOutput.ReadToEnd();

参考资料: http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

理鹤球2638
2009-02-07
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
那就在远程机器里建立一个remoting服务,通过remoting服务来启动进程。不知道这样是否能满足你的要求?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式