我需要在远程计算机上使用C#同步perfce
-
23-09-2019 - |
题
嗨,我希望能够使用C#从另一台服务器上同步我的构建服务器。服务器A上有EXE。服务器B具有perforce。
我在这两台机器上都有管理特权。
我想使用类似的东西
System.Diagnostics.Process.Start("p4 sync", "\"" + path + @""" -f //release/production/...")
我有计算机连接
ManagementScope scope = new ManagementScope("\\\\" + computer_name + "\\root\\cimv2");
scope.Connect();
我无法弄清楚如何将所有内容放在一起。任何帮助将不胜感激。谢谢
解决方案
我能够弄清楚:
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"]);
}
不隶属于 StackOverflow