I wrote a .NET application that can check to ensure a user is logged on a pc (session exists), and if not attempt to create one for the user and alert if unsuccessful. It also can check to ensure a process exists (for any user or for a specific user), and if not, attempt to restart it under a specified user account on the PC, and alert if unsuccessful.
It is has a windows service that runs at system startup and an administration application to manage everything, and create/update/remove alerts.
<Download Full Trial Setup>
* Contact me for licensing information and requests at email@example.com
Main Application View:
Alert Detail (Session Check / Reconnect):