Удаленное выполнение процесса - PullRequest
2 голосов
/ 02 июля 2010

Мой scenerio - это подключение к удаленному компьютеру с C # .Net и перечисление всех процессов с этим удаленным компьютером. Я могу убить процесс или запустить новый процесс удаленно. Проблема в том, что когда я выполняю новый процесс на удаленном компьютере, я вижу его в диспетчере задач, но он не отображается на экране Windows. Любая идея, почему это не появляется на окнах, но появляется на диспетчере задач / процесс. Вот мой код исполнения

private void btnStartNew_Click(object sender, EventArgs e)
    {
        object[] arrParams = { txtNewProcess.Text.Trim()};
        try
        {
            manageClass = new ManagementClass(myScope, new ManagementPath("Win32_Process"), new ObjectGetOptions());
            manageClass.InvokeMethod("Create", arrParams);
            btnConnect_Click(sender, e);
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }

Моя область действия:

myScope = new ManagementScope(@"\ROOT\CIMV2", connOptions);

Ответы [ 3 ]

2 голосов
/ 09 июля 2010

проблема в правах администратора

0 голосов
/ 02 мая 2012

Если у вас возникли проблемы с аутентификацией, вам необходимо проверить конфигурацию DCOM на целевом компьютере.

  1. На целевом компьютере запустить dcomcnfg из командной строки.
  2. Развернуть Component Services\Computers\My Computer\DCOM Config
  3. Найти инструкцию по управлению Windows, идентифицированную с помощью GUID 8BC3F05E-D86B-11D0-A075-00C04FB68820 (вы можете увидеть это в подробном представлении).
  4. Отредактировать свойства и затем добавитьимя пользователя, с которым вы пытаетесь войти на вкладке прав доступа.
  5. Вам может потребоваться перезагрузить службу, чтобы изменения вступили в силу.
0 голосов
/ 02 июля 2010

Разве ManagementPath не должен быть чем-то вроде \ ComputerName \ Root \ CIMV2 вместо просто \ ROOT \ CIMV2?

...