Home hinzugefügt

2026-08-11 14:33:25 +00:00
commit 5b97682139
+306
@@ -0,0 +1,306 @@
# 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
```text
PlandentMstscScriptHook.exe
```
Diese EXE enthält alles, was zur Installation und Konfiguration des Client-Plugins benötigt wird.
### Auf dem Terminalserver
Je nach Einsatzzweck:
```text
PlandentRdpClientTrigger.exe
```
für einen einfachen Programmstart auf dem Client,
oder:
```text
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**:
```text
Programm/Script:
C:\RemoteVDDS\RemoteVDDS_Receiver_TS.bat
Argumente:
MIN
Arbeitsverzeichnis:
C:\RemoteVDDS
```
Empfohlene Optionen:
```text
[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:
```text
Programm:
C:\Program Files\Sirona\Sidexis4\Sidexis4.exe
```
Optional können Argumente und ein Arbeitsverzeichnis eingetragen werden.
Empfohlene Einstellungen:
```text
[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:
```text
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:
```text
PlandentSiominClientTrigger.exe
```
verwendet.
## Client konfigurieren
Im Bereich **Programmstart durch Terminalserver** wird auf dem lokalen Arbeitsplatz Sidexis eingetragen, beispielsweise:
```text
C:\Program Files\Sirona\Sidexis4\Sidexis4.exe
```
Anschließend:
```text
[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:
```text
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:
```text
C:\PDATA\temp_siomin.sdx
```
Die finale SIOMIN-Datei befindet sich üblicherweise im zentralen PDATA-Verzeichnis, zum Beispiel:
```text
\\SERVER\PDATA\siomin.sdx
```
## INI konfigurieren
Neben:
```text
PlandentSiominClientTrigger.exe
```
liegt:
```text
PlandentSiominClientTrigger.ini
```
Beispiel:
```ini
[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:
```ini
[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:
```text
%LOCALAPPDATA%\Plandent\MstscScriptHook\plugin.log
```
## SIOMIN-Übergabe funktioniert nicht
In:
```text
PlandentSiominClientTrigger.ini
```
temporär:
```ini
DEBUG=1
```
setzen.
Danach wird neben der EXE eine Logdatei erzeugt:
```text
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 |