Выполнить команду на удаленном компьютере через WMI в C# - PullRequest
0 голосов
/ 12 февраля 2020

Я пытаюсь выполнить команду в удаленной системе, используя подход WMI. По сути, я создал текстовое поле, содержащее мою команду и кнопку, при нажатии кнопки текст, содержащийся в текстовом поле, используется в качестве командной строки и должен выполняться на удаленном компьютере. Я не уверен, работает ли скрипт, потому что единственная команда, которую я могу сделать, это "cal c" (она открывает калькулятор на удаленной машине). Любые другие команды, такие как (cmd, notepad, ipconfig / all и c.), Не работают.

Мне интересно, почему мой код верен и есть ли лучший способ добиться этого результата?

private void runCmdButton_Click(object sender, EventArgs e)
{
    var processToRun = new[] { "cmd " + "/k " + commandLine1.Text };
    var connection = new ConnectionOptions();
    connection.Username = userText.Text;//"username";
    connection.Password = passwordText.Text; //"password";
    var wmiScope = new ManagementScope(String.Format("\\\\{0}\\root\\cimv2", remoteMachineText.Text), connection);
    var wmiProcess = new ManagementClass(wmiScope, new ManagementPath("Win32_Process"), new ObjectGetOptions());
    wmiProcess.InvokeMethod("Create", processToRun);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...