System.Diagnostics.Process от ManagementBaseObject - PullRequest
0 голосов
/ 09 сентября 2011

Я выполняю удаленный процесс с использованием 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);

1 Ответ

0 голосов
/ 09 сентября 2011

Я думаю, вы немного смущены этим. Невозможно смешать класс Win32_Process WMI (или любой другой) и класс System.Diagnostics.Process, оба относятся к разным областям применения. Что касается других ваших вопросов, я думаю, что вам здесь не повезло, потому что с классом System.Diagnostics.Process вы не можете перенаправить стандартный вывод, но не позволяете выполнить удаленный процесс, а с классом Win32_Process WMI вы можете выполнить удаленный процесс ( с ограничениями), но не позволяет перенаправить стандартный вывод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...