2010-03-02 4 views
0

안녕하세요 저는 C#을 사용하여 프로그래밍 방식으로 다른 서버의 빌드 서버에 Perforce를 동기화 할 수 있기를 바랍니다. 서버 A에 EXE가 있습니다. 서버 B에 PERFORCE가 있습니다.원격 컴퓨터에서 Perforce를 동기화하는 데 도움이 필요합니다. #

두 컴퓨터 모두에 대한 관리자 권한이 있습니다.

내가

System.Diagnostics.Process.Start("p4 sync", "\"" + path + @""" -f //release/production/...") 

같은 것을 사용하고 싶습니다 나는 컴퓨터 연결

ManagementScope scope = new ManagementScope("\\\\" + computer_name + "\\root\\cimv2"); 

scope.Connect(); 

내가 모두 함께 넣어하는 방법을 알아낼 수 없습니다입니다 있습니다. 도움을 주시면 대단히 감사하겠습니다. 주셔서 감사합니다

답변

0

내가 그것을 알아낼 수 있었다 :

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"]); 

    } 
관련 문제