Ho bisogno di aiuto per la sincronizzazione per forza su una macchina remota con C #
-
23-09-2019 - |
Domanda
Ciao vorrei essere in grado di sincronizzazione per forza sul mio server di build da un altro server di programmazione utilizzando C #. Server A ha l'EXE su di esso. Server B ha per forza.
Ho privilegi di amministratore su entrambe le macchine.
Vorrei usare qualcosa come
System.Diagnostics.Process.Start("p4 sync", "\"" + path + @""" -f //release/production/...")
Ho il collegamento al computer
ManagementScope scope = new ManagementScope("\\\\" + computer_name + "\\root\\cimv2");
scope.Connect();
Io non sono in grado di capire come mettere tutto insieme. Qualsiasi aiuto sarebbe molto apprezzato. Grazie
Soluzione
sono stato in grado di capirlo:
public static void perforce_sync()
{
string computer_name = @"server_name";
ManagementScope scope = new ManagementScope("\\\\" + computer_name + "\\root\\cimv2");
scope.Connect();
ObjectGetOptions object_get_options = new ObjectGetOptions();
ManagementPath management_path = new ManagementPath("Win32_Process");
ManagementClass process_class = new ManagementClass(scope, management_path, object_get_options);
ManagementBaseObject inparams = process_class.GetMethodParameters("create");
inparams["CommandLine"] = @"p4 sync -f //release/...";
ManagementBaseObject outparams = process_class.InvokeMethod("Create", inparams, null);
Console.WriteLine("Creation of the process returned: " + outparams["returnValue"]);
Console.WriteLine("Process ID: " + outparams["processId"]);
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow