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