2011-10-19 202 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应用程序中构建整个事件,然后您将完全符合流行语。更重要的是,您将来会拥有一个灵活且可扩展的应用程序。

这将有助于更多地了解您想要运行的命令的确切类型以及您正在查找的功能。