Files
Mstsc-Script-Hook/Home.md
T
patrick 4c51989600 feat: initiale Version 0.1.0 des MSTSC Script Hooks
- 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
2026-08-11 16:32:33 +02:00

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

  1. Alle laufenden RDP-Verbindungen können zunächst bestehen bleiben, müssen nach der Installation aber einmal vollständig geschlossen werden.
  2. PlandentMstscScriptHook.exe auf dem lokalen Arbeitsplatz starten.
  3. Die gewünschte Konfiguration vornehmen.
  4. Plugin installieren anklicken.
  5. Danach alle noch geöffneten mstsc.exe-Fenster vollständig schließen.
  6. 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_PATH angegebene Datei?
  • enthält sie nach dem Aufruf des Terminalprogramms einen Eintrag?
  • ist SIOMIN_PATH der 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:

  1. alle mstsc.exe-Instanzen auf dem Client schließen,
  2. neue PlandentMstscScriptHook.exe starten,
  3. Plugin installieren erneut ausführen,
  4. 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