Question

Je veux exécuter des commandes à distance sur une machine à partir d'une machine hôte exécutant dire un type d'application C # / C ++ / C. L'application est destiné à commander et exécuter l'exécution de commandes sur l'ordinateur distant. Est-il possible de quelque chose comme cela par tout moyen en utilisant un langage de programmation ??

J'ai vérifié à propos psexec etc, mais je veux plus de contrôle, pensant donc de le faire programatically « my way »)

Cordialement Anand

Était-ce utile?

La solution

Je ne sais pas le type de commandes que vous recherchez. Il suffit de « Invoke-commande » devrait être en mesure d'exécuter des commandes sur les ordinateurs locaux et distants.

Si vous êtes à la recherche pour la personnalisation à une grande extension, vous pourriez avoir besoin de développer des agents (tels que les agents de construction utilisés avec CI) qui peut exécuter.

Autres conseils

Googlr pour "Remote Procedure Call" et de regarder http://en.wikipedia.org/wiki/ SOAP

pour ssh Unix est bonne option, pour Windows, vous pouvez utiliser winrm / Powershell combinaison, il y a des c ++ disponible APIs pour winrm / Powershell.

psexec est une bonne façon d'explorer. pour plus de détails.

En C #, il est assez trivial d'accueillir un service WCF dans votre application et à distance de cette façon.

Consultez ce lien.

Je l'ai utilisé xml-rpc avant de RPC en C et qui est assez simple.

Cela dépend vraiment de quel type de « commandes » que vous voulez exécuter, comment costaud vous voulez que votre application (s) soit, et quel genre de ressources (temps, coût, travail, niveau de compétence, etc.) vous ont disponible. Vous avez beaucoup d'options, du banal et facilement mis en œuvre, à la plus-architecturé, chef d'oeuvre SOA. Comme mentionné ci-dessus, vous pouvez utiliser quelque chose de simple comme SSH, PowerShell, etc., mais il semble que vous voulez quelque chose (BTW, xml-rpc plus puissant n'est pas tous les licornes et les arcs en ciel (moderne?), J'ai les cicatrices pour le prouver it!)

Envoi des commandes à distance entre les machines est un vieux problème résolu, donc il y a beaucoup de technologie existante, vous pouvez profiter de: RPC -> XML-RPC -> WS - * / SOAP -> SOAP-RPC -> .Net Remoting -> WCF -.> REST ... et ce sont seulement quelques privilégiés que vous avez accès à

Si vos besoins sont assez simples, je répugnent à une architecture SOA / ESB de type complet, et peut-être utiliser une technologie comme WCF (qui peut encore être utilisé si vous rêvez grand, et que vous voulez étendre l'application dans un chef d'oeuvre de SOA plus tard). Il y a un peu d'une courbe d'apprentissage avec WCF (et WCF est certainement pas tous les licornes et les arcs en ciel soit), mais il y a beaucoup de ressources là pour notre apprendre.

En utilisant WCF, vous pouvez également mettre en œuvre les appels réels via REST, coder les données en JSON, construire le tout dans une application ASP.Net MVC, et vous serez entièrement conforme à mot à la mode. Plus important encore, vous aurez une application qui est à l'avenir flexible et extensible.

Il serait utile de savoir plus sur les types exacts de commandes que vous souhaitez exécuter, et la fonctionnalité que vous recherchez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top