2013-01-15 70 views
2

有人可以幫我解決這個問題嗎?遠程複製本地文件,執行並返回輸出

我已經在本地獲得了一組可執行文件,並且需要遠程運行這些文件,並從它們返回輸出。我有遠程計算機登錄憑據。你能不能讓我知道是否有一種方法可以在C++,C#/ powershell/WMI等程序中執行此操作?

+0

你的問題是ambigue。誰運行這些文件?有人來自遠程計算機,或者您需要將它們上傳到某處並從遠程計算機執行?這些可執行文件產生什麼樣的輸出? (文件,控制檯輸出) – Steve

+0

@Pete,我嘗試使用Invoke-Command的Powershell遠程處理,但是這不能將文件複製到遠程機器。 – Hem

+0

@Steve,我的程序必須將exe/bat文件複製到遠程機器,執行它並將結果返回到本地機器。 – Hem

回答

2

你應該看看使用兩種PSTools結合在一起的C#處理類。 PSTools允許你發起進程遠程機器。

一個例子: -

**編輯**

在遠程機器上運行的批處理文件的一個例子: -

// Create a New Process Object. 
Process p = new Process(); 

//Assign the file you wish to execute. 
p.StartInfo.FileName = "C:\\Utilities\\psexec.exe"; 

// We don't want a window creating for this task 
p.StartInfo.CreateNoWindow = true; 

// We don't want to use the operating system shell.       
p.StartInfo.UseShellExecute = false; 

// Here we set the argument to fire on the remote machine that will launch the Batc File. 
p.StartInfo.Arguments = "\\\\" + RemoteMachineName + " C:\\YourBatFile.bat"; 

// Now to Start the Process. 
p.Start(); 

// If you want to wait until the Process before moving on 
p.WaitForExit(); 

這應該給你前進的理念與其他任務。它不僅僅用於打開文件。您可以像使用WMI一樣使用它來Instll /卸載MsiInstaller產品。如果你想重定向輸出,你只需將它存儲在一個字符串對象中。

+0

如何使用此文件將文件複製到遠程機器? – Hem

+0

請參閱我的更新。這是一個非常快速和容易的事情。我希望這有幫助。 – Derek

+0

謝謝。我會試試這個。 – Hem

相關問題