Я знаю, что это немного устарело, но должна быть возможность написать быструю службу Windows, которая контролирует соединения и восстанавливает сеанс консоли, когда обнаруживает, что RDP сейчас находится в отключенном состоянии. Чуть менее трудоемким было бы использовать пакетный файл с использованием srvany для запуска его в качестве службы, просто следите за значениями, возвращаемыми из qwinsta.
Я бы порекомендовал сделать пакет /srvany как конечный автомат. Сначала пакетный файл отслеживает RDP-соединение и продолжает мониторинг, пока не увидит его. Затем он переходит в следующее состояние, в котором он ожидает завершения сеанса RDP. Когда он обнаруживает, что сеанс был отключен (не завершен), он переходит в конечное состояние, которое должно восстановить этот сеанс на консоли. Наконец, он возвращается в исходное состояние мониторинга для сеанса RDP.
Я не говорю, что это будет легко, но это должно быть возможно. Главным образом я хотел предложить предложение, потому что ваш "tscon [sessionID] /dest:console" избавил меня от головной боли.