using System;
using System.Collections.Generic;
using System.Text;
namespace RemoteMachine
{
public class Remote
{
public static int StartProcess(string Command, string MachineName, string UserName, string Password)
{
System.Management.ConnectionOptions options = new System.Management.ConnectionOptions();
options.Username = UserName;
options.Password = Password;
System.Management.ManagementPath path = new System.Management.ManagementPath(@"\\" + MachineName + @"\root\cimv2:Win32_Process");
System.Management.ManagementScope scope = new System.Management.ManagementScope(path, options);
scope.Connect();
System.Management.ObjectGetOptions opt = new System.Management.ObjectGetOptions();
System.Management.ManagementClass classInstance = new System.Management.ManagementClass(scope, path, opt);
System.Management.ManagementBaseObject inParams = classInstance.GetMethodParameters("Create");
inParams["CommandLine"] = Command;
System.Management.ManagementBaseObject outParams = classInstance.InvokeMethod("Create", inParams, null);
return Convert.ToInt32(outParams["processId"]);
}
}
}
Запуск процесса на удаленной машине