有人可以幫我解決這個問題嗎?遠程複製本地文件,執行並返回輸出
我已經在本地獲得了一組可執行文件,並且需要遠程運行這些文件,並從它們返回輸出。我有遠程計算機登錄憑據。你能不能讓我知道是否有一種方法可以在C++,C#/ powershell/WMI等程序中執行此操作?
有人可以幫我解決這個問題嗎?遠程複製本地文件,執行並返回輸出
我已經在本地獲得了一組可執行文件,並且需要遠程運行這些文件,並從它們返回輸出。我有遠程計算機登錄憑據。你能不能讓我知道是否有一種方法可以在C++,C#/ powershell/WMI等程序中執行此操作?
你應該看看使用兩種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產品。如果你想重定向輸出,你只需將它存儲在一個字符串對象中。
你的問題是ambigue。誰運行這些文件?有人來自遠程計算機,或者您需要將它們上傳到某處並從遠程計算機執行?這些可執行文件產生什麼樣的輸出? (文件,控制檯輸出) – Steve
@Pete,我嘗試使用Invoke-Command的Powershell遠程處理,但是這不能將文件複製到遠程機器。 – Hem
@Steve,我的程序必須將exe/bat文件複製到遠程機器,執行它並將結果返回到本地機器。 – Hem