Selbst wenn man alle Möglichkeiten wie

  • tsconfig.msc/RDP-Tcp/Sitzungen/Wenn das Sitzungslimit erreicht oder die Verbindung getrennt wurde: Sitzung beenden
  • lokale Policy: Computereinstellungen/Adm.Vorlagen/Remotedesktopdienste/Remotedesktopsitzungs-Host/Sitzungslimits/Zeitlimit für die Abmeldung bei RemoteApp-Sitzungen festlegen (aktiviert/sofort)

ausnutzt passiert es immer wieder dass Sessions im disconnected Status (wenn auch nur für kurze Zeit) herum lungern. Wenn man nun viele Sessions mit einem Benutzer betreibt und ein Reconnect verhindern will ist man an dieser Stelle ziemlich *zensur*.

Zum Glück gibt es WTSRegisterSessionNotification, damit kann man sein Interesse an Änderungen des Sessionstatus bekannt geben – und wenn die Session disconnected wird kann man dann einfach ein Logoff anwerfen. Das Tool dazu: WTSLogoffOnDisconnect. Einmal in die Session gestartet (z.B. über lokale Police/Benutzereinstellungen/Windows-Einstellungen/Scripts/Anmelden, Run-Key wird ja für RemoteApp mangels Explorer nicht ausgewertet) führt es ein Logoff durch sobald die Sitzung getrennt wird. %ProgramData%ROMGAL muss dafür existieren und für alle in Frage kommenden Benutzer beschreibbar sein – da kommt das Logfile rein.