Windows Remote auf CX Rechner erkennen

O'Gigis

Level-1
Beiträge
97
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich mal wieder ;)

Kennt jemand eine Möglichkeit in einer TC3 Applikation zu erkennen, ob sich auf dem Rechner auf der sich die TC3 Applikation befindet eine Windows Remotedesktopverbindung aktiv ist?

Hintergrund: Ich will verhindern, dass sich jemand per Remotedesktopverbindung auf dem Rechner einwählt und bestimmte Funktionen durchführt.
Mit dem Benutzermanagement von Beckhoff klappt das sehr gut - allerdings verhindert es nicht den Fall, dass ich mich per Windows Remotedesktopverbindung einwähle und bereits eine HMI von einem Benutzer geöffnet vorfinde mit Berichtigungen die derjenige der sich per Windows Remotedesktopverbindung eingewählt hat nicht bekommen darf :confused:
 
Läüft auf einem WIN 10 mir rdp.


Unter c# kann man über

[FONT=&quot]using System.Windows.Forms

[/FONT]

und

[FONT=&quot]SystemInformation.TerminalServerSession[/FONT]


überprüfen ob eine Remote Verbindung vorliegt.


Ich bin gerade dabei zu schauen ob man unter C++ eine analogen Abfrage dazu findet. Vielleicht kann man diesen dann in einem C++ Modul in TC3 implementieren und die Auswertung über einen Ausgang der PLC übergeben. Neues Feld für mich, mal schauen was da geht ;)

Oder hast du noch eine andere Idee?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Microsoft sagt dazu https://docs.microsoft.com/en-us/windows/win32/termserv/detecting-the-terminal-services-environment.

Möglicheweise bekommst du die Abfrage auch in ein TC3 C++ Modul integriert.

An den Schlüssel
Code:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\GlassSessionId
kommst du auch direkt via SPS Code. Allerdings müsstest du dazu noch die lokale session id ermitteln. Diese steht zwar im Schlüssel wenn der Benutzer nicht via rdp eingeloggt ist, aber zwischen lokaler session id und rdp session id zu unterscheiden wird eher schwierig.

Einfacher ist es wohl, wenn du ein Skript oder Programm (oder Dämon) in regelmäßgien Zeitinvervallen triggerst und die Rückgabe ob lokal oder rdp in die SPS erledigst du via ADS, OPC oder einer einfachen Textdatei.
 
Zurück
Oben