簡體   English   中英

來自ManagementBaseObject的System.Diagnostics.Process

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM