- Native x64 MSTSC-DVC-Erweiterung für lokalen Programmstart - Automatischer Script-/Programmstart bei RDP-Verbindungsaufbau - Separater Programmstart über Trigger innerhalb der RDP-Sitzung - Bidirektionaler DVC zur Ermittlung des lokalen Client-Hostnamens - SIOMIN-Trigger zur Anbindung lokaler Sidexis-Installationen - SIOMIN-Datensatzlängen und Hostname-Felder bytegenau angepasst - Temporäre SIOMIN-Einträge nach erfolgreicher Übernahme bereinigt - Native Win32-Konfigurationsoberfläche ohne .NET-Abhängigkeit - Mehrfachstartschutz und optionaler unsichtbarer Programmstart - Debug- und Plugin-Logging ergänzt - RemoteVDDS-Anwendungsfall integriert - Installer/Registrierung des MSTSC-Plugins über Client-Konfigurator - Techniker-, Entwickler- und Projektdokumentation ergänzt - Proprietäre Lizenz für Copyright Patrick Gniza hinzugefügt
8.3 KiB
Plandent MSTSC Script Hook
Zweck
Der Plandent MSTSC Script Hook wird eingesetzt, wenn Programme oder Scripte auf dem lokalen Arbeitsplatzrechner mit einer Anwendung innerhalb einer RDP-/Terminalserver-Sitzung zusammenarbeiten müssen.
Das Tool deckt drei typische Techniker-Szenarien ab:
- automatischer Start eines lokalen Receivers oder Scripts beim Aufbau einer RDP-Verbindung,
- gezielter Start eines vorkonfigurierten lokalen Programms aus der Terminalserver-Sitzung,
- Verbindung einer Anwendung im Terminalserver mit einem lokal installierten Sidexis über SIOMIN/SLIDA.
Das Tool ist für den klassischen Windows-RDP-Client Remotedesktopverbindung (mstsc.exe) vorgesehen.
Benötigte Dateien
Auf dem lokalen Arbeitsplatz
PlandentMstscScriptHook.exe
Diese EXE enthält alles, was zur Installation und Konfiguration des Client-Plugins benötigt wird.
Auf dem Terminalserver
Je nach Einsatzzweck:
PlandentRdpClientTrigger.exe
für einen einfachen Programmstart auf dem Client,
oder:
PlandentSiominClientTrigger.exe
für den Sidexis-/SIOMIN-Anwendungsfall.
Installation auf dem Client
- Alle laufenden RDP-Verbindungen können zunächst bestehen bleiben, müssen nach der Installation aber einmal vollständig geschlossen werden.
PlandentMstscScriptHook.exeauf dem lokalen Arbeitsplatz starten.- Die gewünschte Konfiguration vornehmen.
- Plugin installieren anklicken.
- Danach alle noch geöffneten
mstsc.exe-Fenster vollständig schließen. - Die RDP-Verbindung neu starten.
Die Installation erfolgt für den aktuell angemeldeten Windows-Benutzer.
Anwendungsfall 1: RemoteVDDS automatisch starten
In Verbindung mit den RemoteVDDS-Scripten von Tobias Bauer kann der benötigte Receiver automatisch gestartet werden, sobald der Techniker bzw. Anwender eine RDP-Verbindung zum Terminalserver aufbaut.
Im Bereich Automatischer Start bei RDP-Verbindung:
Programm/Script:
C:\RemoteVDDS\RemoteVDDS_Receiver_TS.bat
Argumente:
MIN
Arbeitsverzeichnis:
C:\RemoteVDDS
Empfohlene Optionen:
[x] Bei erfolgreicher RDP-Verbindung starten
[x] Unsichtbar starten
[x] Mehrfachstart verhindern
Bei RDP-Trennung beenden sollte nur aktiviert werden, wenn der Receiver tatsächlich mit dem Ende der RDP-Verbindung beendet werden soll.
Bei einer Datei mit RemoteVDDS_Receiver_TS im Namen wird MIN vom Konfigurator automatisch als Argument vorgeschlagen, sofern noch keine Argumente eingetragen sind.
Über Programm testen kann vor der Installation geprüft werden, ob das Script auf dem lokalen Arbeitsplatz korrekt startet.
Die RemoteVDDS-Scripte selbst gehören nicht zum Plandent MSTSC Script Hook und müssen separat vorhanden sein.
Anwendungsfall 2: Lokales Programm bei Bedarf starten
Soll ein lokales Programm nur dann gestartet werden, wenn eine Anwendung oder ein Ablauf innerhalb des Terminalservers dies benötigt, wird der zweite Bereich Programmstart durch Terminalserver verwendet.
Auf dem Client beispielsweise:
Programm:
C:\Program Files\Sirona\Sidexis4\Sidexis4.exe
Optional können Argumente und ein Arbeitsverzeichnis eingetragen werden.
Empfohlene Einstellungen:
[x] Start durch Terminalserver-Trigger erlauben
[x] Mehrfachstart verhindern
Ob Unsichtbar starten sinnvoll ist, hängt vom jeweiligen Programm ab. Eine grafische Anwendung wie Sidexis soll normalerweise sichtbar gestartet werden.
Auf dem Terminalserver wird anschließend innerhalb der jeweiligen Benutzersitzung lediglich:
PlandentRdpClientTrigger.exe
ausgeführt.
Der Trigger startet immer das Programm, das vorher auf dem jeweiligen Client konfiguriert wurde.
Anwendungsfall 3: Terminalprogramm mit lokalem Sidexis verbinden
Dieser Anwendungsfall ist für Programme gedacht, die innerhalb der RDP-Sitzung laufen, ihre Patientendaten aber an ein lokal auf dem Arbeitsplatz installiertes Sidexis übergeben sollen.
Dafür wird auf dem Terminalserver:
PlandentSiominClientTrigger.exe
verwendet.
Client konfigurieren
Im Bereich Programmstart durch Terminalserver wird auf dem lokalen Arbeitsplatz Sidexis eingetragen, beispielsweise:
C:\Program Files\Sirona\Sidexis4\Sidexis4.exe
Anschließend:
[x] Start durch Terminalserver-Trigger erlauben
[x] Mehrfachstart verhindern
und Plugin installieren.
Terminalprogramm konfigurieren
Im Programm innerhalb der RDP-Sitzung wird als Sidexis-EXE bzw. als aufzurufendes Sidexis-Programm nicht die echte Sidexis-EXE eingetragen, sondern:
C:\PDATA\exe\PlandentSiominClientTrigger.exe
Das Terminalprogramm muss seinen SLIDA-/SIOMIN-Eintrag zunächst in eine temporäre lokale Datei auf dem Terminalserver schreiben.
Empfehlung:
C:\PDATA\temp_siomin.sdx
Die finale SIOMIN-Datei befindet sich üblicherweise im zentralen PDATA-Verzeichnis, zum Beispiel:
\\SERVER\PDATA\siomin.sdx
INI konfigurieren
Neben:
PlandentSiominClientTrigger.exe
liegt:
PlandentSiominClientTrigger.ini
Beispiel:
[SIOMIN]
SIOMIN_TEMP_PATH=C:\PDATA\temp_siomin.sdx
SIOMIN_PATH=\\SERVER\PDATA\siomin.sdx
DEBUG=0
Fehlt die INI, wird sie beim ersten Start automatisch mit folgenden Standardwerten erstellt:
[SIOMIN]
SIOMIN_TEMP_PATH=C:\PDATA\temp_siomin.sdx
SIOMIN_PATH=C:\PDATA\siomin.sdx
DEBUG=0
Danach muss SIOMIN_PATH gegebenenfalls auf das tatsächlich verwendete PDATA-Verzeichnis geändert werden.
Was beim Aufruf passiert
Der Techniker muss dafür keine zusätzlichen Parameter angeben.
Beim Aufruf übernimmt der Trigger den Eintrag aus der temporären Datei, ordnet ihn dem lokalen RDP-Client zu und schreibt ihn in die finale siomin.sdx.
Nach erfolgreicher Übernahme wird die temporäre Datei geleert und anschließend das auf dem Client vorkonfigurierte Sidexis gestartet.
Damit kann ein Terminalprogramm den Übergabevorgang so verwenden, als würde es Sidexis starten, obwohl Sidexis tatsächlich auf dem lokalen Arbeitsplatz läuft.
Fehlersuche
Clientprogramm startet nicht
Prüfen:
- wurde das Plugin auf dem lokalen Arbeitsplatz installiert?
- wurden nach der Installation alle alten
mstsc.exe-Instanzen beendet? - ist Start durch Terminalserver-Trigger erlauben aktiviert?
- ist der hinterlegte Programmpfad korrekt?
- verhindert Mehrfachstart verhindern absichtlich einen zweiten Start, weil das Programm bereits läuft?
Das Client-Log befindet sich bei aktiviertem Plugin-Logging unter:
%LOCALAPPDATA%\Plandent\MstscScriptHook\plugin.log
SIOMIN-Übergabe funktioniert nicht
In:
PlandentSiominClientTrigger.ini
temporär:
DEBUG=1
setzen.
Danach wird neben der EXE eine Logdatei erzeugt:
PlandentSiominClientTrigger.log
Prüfen:
- existiert die unter
SIOMIN_TEMP_PATHangegebene Datei? - enthält sie nach dem Aufruf des Terminalprogramms einen Eintrag?
- ist
SIOMIN_PATHder richtige PDATA-Pfad? - besitzt der angemeldete Terminalserver-Benutzer Schreibrechte auf die finale
siomin.sdx? - ist auf dem lokalen Client der Terminalserver-Trigger aktiviert?
- wurde die RDP-Verbindung nach Installation oder Update des Plugins neu aufgebaut?
Wenn Sidexis einen Eintrag nach unprocessable.sdx verschiebt, sollten sowohl das SIOMIN-Trigger-Log als auch das Sidexis-Log zur weiteren Prüfung gesichert werden.
Update des Client-Plugins
Bei einer neuen Version:
- alle
mstsc.exe-Instanzen auf dem Client schließen, - neue
PlandentMstscScriptHook.exestarten, - Plugin installieren erneut ausführen,
- RDP-Verbindung neu starten.
Die vorhandene Konfiguration wird dabei weiterverwendet.
Deinstallation
PlandentMstscScriptHook.exe starten und Plugin entfernen wählen.
Sollte die Plugin-Datei noch verwendet werden, zuerst sämtliche mstsc.exe-Instanzen schließen und die Entfernung erneut durchführen.
Kurzüberblick
| Aufgabe | Client | Terminalserver |
|---|---|---|
| RemoteVDDS automatisch starten | Automatischen Scriptstart konfigurieren | keine zusätzliche EXE erforderlich |
| Lokales Programm bei Bedarf starten | Trigger-Programm konfigurieren | PlandentRdpClientTrigger.exe |
| Terminalprogramm mit lokalem Sidexis verbinden | Sidexis als Trigger-Programm konfigurieren | PlandentSiominClientTrigger.exe + INI |