[英]System.Diagnostics.Process from ManagementBaseObject
我正在使用WMI執行遠程進程,並希望將該進程的StandardOutput重定向回我的程序。 我發現了以下代碼示例:
http://haripotter.wordpress.com/2008/07/25/executing-a-command-on-a-remote-windows-system-using-wmi/
該人正在使用Process類,我在這里看到:
http://msdn.microsoft.com/en-us/library/ssk42c11.aspx
可以重定向標准輸出。 可以同時使用這兩個嗎?
我以這種方式調用它:
public string StartProcess(string command)
{
ManagementClass processTask = new ManagementClass(@"\\" + this.wmiConnection.machineName + @"\root\CIMV2", "Win32_Process", null);
ManagementBaseObject methodParams = processTask.GetMethodParameters("Create");
methodParams["CommandLine"] = command;
methodParams["CurrentDirectory"] = @"C:\";
try
{
ManagementBaseObject exitCode = processTask.InvokeMethod("Create", methodParams, null);
我認為您對此有些困惑。 Win32_Process
WMI類(或任何類)和System.Diagnostics.Process
類不可能混合使用,它們都屬於不同的作用域。 關於另一個問題,我想您很幸運,因為使用System.Diagnostics.Process
類可以重定向標准輸出,但不允許執行遠程進程,並且使用Win32_Process
WMI類,您可以執行遠程進程(有限制),但不允許重定向標准輸出。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.