2011-10-19 201 views
1

我想遠程執行一臺主機上的命令,執行一個C#/ C++/C類型的應用程序。該應用程序旨在控制和執行遠程機器上的命令的執行。是否有可能通過任何方式使用任何編程語言?遠程執行命令

我也查了一下PSEXEC等,但我想更多的控制權,因此想這樣做編程「我的路」的:)

問候 阿南德

+0

爲什麼不使用ssh或其他遠程協議? –

+0

我想我沒有說明我想要執行命令的程度。那麼,我希望能夠做到甚至重要的東西,如促進直流等。 –

+0

這個問題沒有什麼特定的語言。 – Puppy

回答

0

不確定您正在查找的命令的類型。 只需「invoke-command」應該能夠在本地和遠程計算機上執行命令。

如果您正在尋找極大的自定義功能,則可能需要開發可執行的代理(如與CI配合使用的構建代理)。

0

對於Unix ssh是不錯的選擇,對於Windows你可以使用winrm/powershell組合,還有C++ api可用於winrm/powershell。

psexec是探索的好方法。請查看here瞭解更多詳情。

0

在C#中,在您的應用程序中以遠程方式託管WCF服務非常簡單。

退房this link.

我用xml-rpc之前在C RPC,這就是非常簡單的。

+0

我試圖去關於WCF服務。但是,對於如何去解決這個問題,我們無法得到任何「真正」描述性的東西。你能指點我一些這樣的文檔嗎? –

+0

我在帖子中添加了鏈接?檢查出這個鏈接位。它有一個關於如何自主託管WCF服務的例子。 –

0

這實際上取決於你想運行什麼類型的「命令」,你希望你的應用程序有多強壯,以及什麼類型的資源(時間,成本,勞動力,技能水平等等)你有空。你有很多選擇,從平庸和易於實現的,到超結構的SOA傑作。如上所述,你可以使用像SSH,PowerShell等簡單的東西,但它聽起來像你想要更強大的東西(現代?)(順便說一下,xml-rpc並非全是獨角獸和彩虹;我有疤痕證明它!)

在機器之間發送遠程命令是一個古老的,解決的問題,所以有很多現有技術可以利用:RPC - > XML-RPC - > WS - */SOAP - > SOAP-RPC - > .Net Remoting - > WCF - > REST ...這些只是你有權訪問的少數幾個。如果你的要求很簡單,我會避開完整的SOA/ESB類型的體系結構,也許使用像WCF這樣的技術(如果你夢想大,並且想要擴展它,仍然可以使用它)應用程序到稍後的SOA傑作)。 WCF有一點學習曲線(當然WCF也不全是獨角獸和彩虹),但我們有很多資源可供學習。

使用WCF,您還可以通過REST實現實際調用,以JSON編碼數據,在ASP.Net MVC應用程序中構建整個事件,然後您將完全符合流行語。更重要的是,您將來會擁有一個靈活且可擴展的應用程序。

這將有助於更多地瞭解您想要運行的命令的確切類型以及您正在查找的功能。