Estoy escribiendo una aplicación de servicio de Windows que escucha las conexiones y realiza ciertas tareas como se indica desde una aplicación diferente que se ejecuta en otra computadora en la red.Compruebe si ningún usuario está actualmente conectado a Windows
Una de las tareas asegura que ningún usuario está actualmente conectado, bloquea la estación de trabajo, borra algunos archivos y luego reinicia el sistema. Consideré usar this solution para examinar la lista de procesos en ejecución y verificar los nombres de usuario, determinando si ningún usuario está conectado al coincidir los nombres de usuario con SISTEMA, RED, etc. Me di cuenta que tengo PostgreSQL ejecutándose que usa una cuenta de usuario llamada postgres entonces eso no funcionaria Comprobar si explorer.exe se está ejecutando tampoco funcionaría porque el explorador falla, o a veces finalizo el proceso yo mismo y lo reinicio.
¿Cuál sería una buena forma de determinar que ningún usuario ha iniciado sesión en una estación de trabajo usando C#?
Muchas gracias a todos. No soy muy bueno en el uso de WMI y después de golpear el error después de error, decidí ir por la respuesta de Flodin. Aquí hay un ejemplo de uso para cualquier otra persona interesada: http://www.pinvoke.net/default.aspx/wtsapi32/WTSEnumerateSessions.html – Zahymaka