Я бы выбрал архитектуру сервер / клиент, где сервер может запускать процессы на основе какого-то сетевого вызова.
у использовать c # и WMI для удаленного запуска процесса на другом компьютере. Я провел некоторые начальные исследования и выяснил, что в конечном итоге мне придется использовать класс процесса. «Win32_Process» был первым, что казалось очевидным для использования, однако, похоже, он ограничен представлением только локальных процессов. Какие другие классы процессов Windows я могу использовать?
Вот какой код при использовании класса Win32_ScheduledJob:
static public String RemoteConnect()
{
try
{
ConnectionOptions conn = new ConnectionOptions();
conn.Username = @"JV";
conn.Password = @"Nazpal6180";
conn.EnablePrivileges = true;
conn.Impersonation = System.Management.ImpersonationLevel.Impersonate;
ManagementScope scope = new ManagementScope("\\\\phsd194-JV\\root\\cimv2", conn);
//scope.Options.Impersonation = System.Management.ImpersonationLevel.Impersonate;
//scope.Options.EnablePrivileges = true;
scope.Connect();
ManagementPath managementPath = new ManagementPath("Win32_ScheduledJob");
ObjectGetOptions objectGetOptions = new ObjectGetOptions();
ManagementClass classInstance = new ManagementClass(scope, managementPath, objectGetOptions);
object[] objectsIn = new object[7];
objectsIn[0] = "calc.exe";
objectsIn[1] = "********140000.000000+480";
objectsIn[5] = true;
object outParams = classInstance.InvokeMethod("Create", objectsIn);
String response = "Creation of the process returned: " + outParams;
return response;
}
catch (ManagementException err)
{
String response = "An error occurred while trying to execute the WMI method: " + err.Message;
//Console.WriteLine("An error occurred while trying to execute the WMI method: " + err.Message);
return response;
}
}