Home hinzugefügt
+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 |
|
||||||
Reference in New Issue
Block a user