Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ManagementBaseObject中的System.Diagnostics.Process_C#_.net_Vb.net_Wmi - Fatal编程技术网

C# ManagementBaseObject中的System.Diagnostics.Process

C# ManagementBaseObject中的System.Diagnostics.Process,c#,.net,vb.net,wmi,C#,.net,Vb.net,Wmi,我正在使用WMI执行一个远程进程,希望将该进程的标准输出重定向回我的程序。我发现了以下代码示例: 此人正在使用我在这里看到的Process类: 可以重定向标准输出。这两个可以一起使用吗 我这样说: public string StartProcess(string command) { ManagementClass processTask = new ManagementClass(@"\\" + this.wmiConnection.machineName +

我正在使用WMI执行一个远程进程,希望将该进程的标准输出重定向回我的程序。我发现了以下代码示例:

此人正在使用我在这里看到的Process类:

可以重定向标准输出。这两个可以一起使用吗

我这样说:

 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);

我想你对此有点困惑。WMI类(或任何)和类不可能混合,两者都属于不同的作用域。关于你的另一个问题,我认为你在这里运气不好,因为使用
System.Diagnostics.Process
类,你可以重定向标准输出,但不允许执行远程进程,并且使用
Win32\u进程
WMI类,你可以执行远程进程(有限制)但不允许重定向标准输出。

请查看,我是否无法将远程进程的输出返回到我的程序?当然可以,但您需要自行构建客户端服务器应用程序,以便向远程计算机(服务器)发送命令并在客户端接收输出。$0.02解决方案是将输出重定向到一个带有cmd.exe的文件,然后在进程完成后读取该文件。@Hans是的,你可以这样做,但如何获取位于服务器计算机中的文件内容?回飞棒不会回来。无法从中获取文件的服务器是一个砖块;)