Hallo,
ein Programm startet weitere lokale Programme wie u. a. Office-Programme (Excel, Outlook, Word usw.). Bisher funktioniert alles ohne Probleme.
Seit kurzem wird dieses Programm auch als Remote-Desktop-Anwendung auf einem Remote-Desktop-Server (früher Terminal-Server) ausgeführt – auch das funktioniert gut. Allerdings fehlen auf dem Server einige der vom Programm gestartete Programm wie z. B. die genannten Office-Programme. Es ist nicht erwünscht, die Office-Programme auf dem Remote-Desktop-Server zu installieren.
Nun "darf" ich überlegen, ob es eine Möglichkeit gibt, dass die Anwendung, die auf dem Remote-Desktop-Server ausgeführt wird, Programme auf dem Client startet. Name, Parameter usw. der zu startenden Programme können in der Anwendung hinterlegt werden.
Mir geht es nicht darum, wie ich etwas machen kann, sondern um das "Was".
Welche Technologien sind für die gestellte Aufgabe am besten geeignet?
Danke im Voraus und libee Grüße
René
René
Ich glaube nicht, dass das geht.
Du könntest aber ein zweites Programm auf dem Client installieren, dessen einzige Aufgabe es ist, die ProcessStartInfo-Daten vom "Server"-Programm entgegen zu nehmen und den Prozess zu starten.
Es wäre kein Problem, ein Service oder ein automatisch im Benutzerkontext startendes Programm auf der Arbeitsstation zu installieren, welches dann diese Aufgabe übernimmt. Welche Kommunikationswege sind aber in diesem Fall am geeignetsten?
René
Ob es ein besser geeignetes System zur direkten Kommunikation zwischen Remote und Client gibt, weiß ich nicht.
Ich würde einfach eine klassische Web-API daraus machen, das ist vermutlich am einfachsten.
Ob nun der Remote-Computer eine Verbindung mit dem Client aufbaut oder umgekehrt, musst Du entscheiden.
Letzteres wäre vermutlich einfacher, da der Client dann keine eingehenden Nachrichten abhören und demnach auch keine Berechtigungen dafür haben muss.
Welche Kommunikationswege sind aber in diesem Fall am geeignetsten?
Du könntest Projektvorstellung: CoreRemoting ausprobieren.
Man könnte auch ein "Shared"-Verzeichnis als Austausch nehmen: Accessing Local Files and Folders on Remote Desktop Session oder File Sharing through RDP from Windows
Das Remote-Programm würde also z.B. eine Textdatei erzeugen (mit der Liste der Programme) und ein Client-Programm diese einlesen und versuchen die Programme zu öffnen.
So könnten dann auch noch die Dokumente übergeben werden (ich nehme mal an, daß nicht einfach nur Word, Excel o.ä. mit einem leeren Dokument gestartet werden soll).
Danke für die Gedankenanstöße. Da die Anwendung auch eine Netzwerkfreigabe benötigt, würde sich diese anbieten, um darüber zu kommunizieren. Auf den entsprechenden Clients dann eine einfache Applikation mit einem File-Watcher. Aber auch die anderen Ansätze sind gut und ich werde mir das übers Wochenende anschauen.
Nochmals Dankeschön an alle und schönes Schwitzen!
LG
René
René
Wenn man in der Textdatei die Anwendung mit Parametern zum Start angibt, kann man das wunderbar als Backdoor verwenden, um Schadcode zu laden.
Herrlich 🙂
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Wenn man in der Textdatei die Anwendung mit Parametern zum Start angibt, kann man das wunderbar als Backdoor verwenden, um Schadcode zu laden.
Herrlich 🙂
Sicher, wenn man keine Prüfungen vornimmt.
René