Frage

Ich möchte Befehle auf einem Computer aus einem Host -Computer ausführen, der ein C#/C ++/C -Anwendungsart ausführt. Die Anwendung soll die Ausführung von Befehlen auf der Remote -Maschine steuern und ausführen. Ist es so etwas möglich, auf irgendeine Weise eine Programmiersprache zu verwenden?

Ich habe über PSEXEC usw. nachgefragt, aber ich möchte mehr Kontrolle und denke daher darüber nach, es programmatisch "meinen Weg" zu machen :) :)

Grüße Anand

War es hilfreich?

Lösung

Ich bin mir nicht sicher über die Art der Befehle, nach denen Sie suchen. Einfach "Invoke-Command" sollte in der Lage sein, Befehle auf lokalen und entfernten Computern auszuführen.

Wenn Sie nach einer großen Ausdehnung nach Anpassungen suchen, müssen Sie möglicherweise Agenten (z. B. mit CI verwendete Build -Agenten) entwickeln, die ausgeführt werden können.

Andere Tipps

Googlr für "Remote Procedure Call" und sehen Sie sich an http://en.wikipedia.org/wiki/soap

Für Unix SSH ist eine gute Option. Für Windows können Sie die Kombination aus WinRM / PowerShell verwenden. Es gibt C ++ - APIs für WinRM / PowerShell.

PSEXEC ist eine gute Möglichkeit zu erkunden. sehen hier für mehr Details.

In C# ist es ziemlich trivial, einen WCF -Dienst in Ihrer App zu hosten und auf diese Weise zu remote.

Kasse dieser Link.

Ich habe verwendet XML-RPC vorher für RPC in C und das ist ziemlich einfach.

Es hängt wirklich davon ab, welche Art von "Befehlen" Sie ausführen möchten, wie kräftig Sie möchten, wie Ihre Apps Ihre Apps sind und welche Art von Ressourcen (Zeit, Kosten, Arbeit, Fähigkeiten auf Ebene usw.) Sie zur Verfügung haben. Sie haben viele Optionen, von banal und leicht implementiert bis zum überarchitierten SOA-Meisterwerk. Wie oben erwähnt, können Sie etwas Unkompliziertes wie SSH, PowerShell usw. verwenden, aber es hört sich so an, als ob Sie etwas Mächtigeres (moderner?) (Übrigens, XML-RPC sind nicht alle Einhörner und Regenbogen; ich habe die Narben, um zu beweisen, es!)

Das Senden von Remote -Befehlen zwischen Maschinen ist ein altes, gelöstes Problem. Daher gibt es eine Menge vorhandener Technik, die Sie nutzen können: RPC -> XML -RPC -> WS -*/SOAP -> SOAP -RPC -> .NET REMOTING -> WCF -> Ruhe ... und das sind nur einige ausgewählte, auf die Sie zugreifen können.

Wenn Ihre Anforderungen ziemlich einfach sind, würde ich mich vor einer ausgewachsenen SOA/ESB-Architektur scheuen und vielleicht eine Technologie wie WCF verwenden (die immer noch verwendet werden kann, wenn Sie groß träumen, und die App zu einem SOA erweitern möchten Meisterwerk später). Es gibt eine gewisse Lernkurve mit WCF (und WCF sind sicherlich auch nicht nur Einhörner und Regenbogen), aber es gibt viele Ressourcen, von denen wir dort lernen können.

Mit WCF können Sie die tatsächlichen Anrufe auch über Ruhe implementieren, die Daten in JSON codieren, das Ganze in einer ASP.NET-MVC-Anwendung erstellen, und dann sind Sie vollständig mit Schlagwort-konform. Noch wichtiger ist jedoch, dass Sie eine Anwendung haben, die in Zukunft flexibel und erweiterbar ist.

Es würde helfen, mehr über die genauen Arten von Befehlen zu erfahren, die Sie ausführen möchten, und die Funktionen, nach denen Sie suchen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top