我想从执行C#/ C ++ / C类型应用程序的主机远程执行机器上的命令。该应用程序旨在控制和执行远程计算机上的命令执行。是否有可能通过任何方式使用任何编程语言?
我已经检查了psexec等,但我想要更多控制,因此想以编程方式“我的方式”:)
此致 阿南德
答案 0 :(得分:0)
Googlr for“Remote Procedure Call”并查看http://en.wikipedia.org/wiki/SOAP
答案 1 :(得分:0)
对于Unix ssh是不错的选择,对于Windows你可以使用winrm / powershell组合,有可用于winrm / powershell的c ++ api。
psexec是探索的好方法。查看here了解更多详情。答案 2 :(得分:0)
答案 3 :(得分:0)
这实际上取决于你想要运行什么类型的“命令”,你想要你的应用程序有多强大,以及你需要什么样的资源(时间,成本,劳动力,技能水平等)有空的。从平庸和易于实现到过度架构的SOA杰作,您有很多选择。如上所述,你可以使用像SSH,PowerShell等那样直截了当的东西,但听起来你想要更强大的东西(现代?)(BTW,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应用程序中构建整个内容,然后您将完全符合流行语。更重要的是,您将拥有一个灵活且可扩展的应用程序。
了解有关您要运行的命令的确切类型以及您要查找的功能将会有所帮助。
答案 4 :(得分:0)
不确定您要查找的命令类型。 只需“invoke-command”就可以在本地和远程计算机上执行命令。
如果您要在很大程度上寻找自定义,您可能需要开发可以执行的代理(例如与CI一起使用的构建代理)。