Funktionsbeschreibung SepiaTS
SepiaTS besteht aus:
Serverinstanz: Die Serverinstanz Webservice unter https (TCP/443). Diese Instanz dient dazu, Verbindungen, die durch die Clientsoftware angestoßen werden, anzunehmen und eine Verbindung zwischen Terminalserver und Client herzustellen. Die Serverinstanz kann mehrmals auf einem Server ausgeführt werden, indem man einfach ein weiteres Websrervice installiert. Die Serverinstanz prüft gegenüber dem Lizenzserver die Gültigkeit der Lizenz.
Clientsoftware: Die Clientsoftware wird mittels ConfigDialog über den Verbindungsserver (FQDN) . Die Verbindung wird mittels SSL verschlüsselt. Hierzu wird das offizielle Zertifikat des Terminalservers verwendet.
Lizenzmanager: Dieser bietet die Möglichkeit die Gültigkeit der Lizenz, deren Laufzeit, die Anzahl der lizenzierten User sowie die angemeldeten User zu erkennen! Gleichzeitig besteht die Möglichkeit einen oder mehrere „angemeldete“ User zu entfernen, wenn diese nicht mehr aktiv sind. Durch diese Maßnahme werden Lizenzen frei ohne den SepiaTS_Server neu zu starten.
Nachdem die Remote Desktop Session aufgebaut wurde erfolgt die Zuordnung zwischen dem eingeloggten User (Loginname) und der SepiaTS_Client ID.
SepiaTS_Starter: Dieses Programm dient dazu, mithilfe von Commandparametern Aufrufe anstatt auf dem Terminalserver auf dem Client auszuführen! Das bedeutet, dass alle Commands, die in einer Shell (egal ob CMD-Shell, Powershell oder einer anderen Scriptsprache) ausgeführt werden, mittels SepiaTS_Starter-Programms an den lokalen Computer umgeleitet werden!
Prozessbeschreibung Erläuterungen:
- Der Client baut mittels RDP Protokoll (Microsoft) bzw. https eine Verbindung zum Terminalserver auf.
- Der SepiaTS_Client TCP Verbindung zum SepiaTS_Server auf und erhält vom SepiaTS_Server eine eindeutige Verbindungs-ID (fortlaufende Nummer). Gleichzeitig übermittelt er, welcher User (Loginname) sich am Remoteserver anmeldet und übermittelt diesen an den SepiaTS_Server.
- Wenn nun eine Applikation (jede beliebige am Server installierte Applikation) ein Command mittels SepiaTS_Starters ausführt, wird Username der Session an den Starter übermittelt.
- Der SepiaTS_Starter übergibt nun den Usernamen an den SepiaTS_Server
- Der SepiaTS_Server überprüft nun, ob er einen Client mit einer aktiven Verbindung in seiner Datenbank findet, der den gleichen Loginnamen hat, um die korrekte ClientID zu finden.
- Nun wird das unter Punkt 3 angesteuerte Command an den SepiaTS_Client mit der entsprechenden VerbindungsID übertragen.
- Wenn das Command ShellExecute oder TransferAndOpen gewählt wurde, wird vom SepiaTS_Client die lokale Registry des Clients abgefragt, welches Programm mit der angefragten Extension zum Ausführen verbunden ist.
- Die Abfrage der Registry liefert das Standardprogramm, das mit der Fileextension verbunden ist an den SepiaTS_Client.
- Der SepiaTS_Client stellt nun den Aufruf des Standardprogrammes vor jenes Command, das durch den SepiaTS_Starters angestoßen wurde und öffnet dadurch jene Datei mit der jeweils am Client verknüpften Standardapplikation.
Aufrufe, die in einer Remote Desktop Session erfolgen, werden dabei am lokalen Computer ausgeführt.
Zum Beispiel:- URL Aufruf (Url wird übergeben und im jeweiligen Standardbrowser am lokalen Computer geöffnet)
- Mailaufruf: (Mailadresse, Betreff, Bodytext können aus jeder beliebigen Applikation an das lokale Mailprogramm des lokalen Computers übergeben werden)
- TransferExecute: (Dateien werden vom Terminalserver automatisiert an den lokalen Computer übertragen und mit der in der Registry zugeordneten Standardapplikation automatisch geöffnet)
- ShellExecute: (Dateien, die am Client liegen, werden vom Server aus am Client aufgerufen und mit der in der Registry zugeordneten Standardapplikation automatisch geöffnet. Ebenso können hinterlegte Pfade wie z.B. \\TSCLient\C durch C:\ ersetzt werden, wodurch der lokale Aufruf möglich wird)
- RunScript: (Hierbei wird eine in einer XML- oder per Shell übergebenen Scriptdatei an den lokalen Computer inkl. möglicher zusätzlicher Dateien übertragen. Das Script wird nach erfolgter Übertragung am lokalen Rechner ausgeführt)
- SendMail: (Outlookimplementierung) Ermöglicht es folgende Informationen an Outlook (ab Version 2007) mitzugeben:
– An, CC, BCC
– Betreff
– Bodytext als HTML-Format oder Text-Format
– Attachments
Der Befehl zum Drucken kann an jeden dieser Befehle angefügt werden, und zwar:
- Print=Default (Die zu druckende Datei wird automatisch an den lokalen Computer übertragen und auf den jeweils eingestellten Defaultprinter ausgedruckt)
- Print=Dialog (Die zu druckende Datei wird automatisch an den lokalen Computer übertragen und der Druckdialog wird am lokalen Computer aufgerufen, um dem Anwender die Auswahl des Ausgabedruckers zu überlassen)
- Print=To PrinterName=“HP Officejet Pro 8610 (Netzwerk)“ (Die zu druckende Datei wird automatisch an den lokalen Computer übertragen und auf den jeweils angegebenen Printer ausgedruckt)
Nach erfolgter SepiaTS-Verbindung kann nun jede Applikation, mittels Voranstellung des Starterhelper-Programmes (vor das eigentliche Command), Ihre Informationen an den lokalen Computer übermitteln und dort ausführen lassen. Dazu müssen die Commands aufgrund der generischen Struktur von SepiaTS nicht geändert werden.
Sämtliche Befehle, wie copy, xcopy, rmdir und alle Commands, die am lokalen Computer zur Verfügung stehen, können dabei eingebunden werden.
SepiaTS-Printerdriver: Dieser Druckertreiber wird am Terminalserver (auch mehrfach möglich) installiert und bietet die Möglichkeit jeder Applikation welche am Terminalserver gehostet wird, welche drucken kann, sämtliche Funktionen von SepiaTS zu nutzen.