Я пишу приложение Windows Service, которое прослушивает подключения и выполняет определенные задачи, как указано в другом приложении, запущенном на другом компьютере в сети.
Одна из задач гарантирует, что пользователь не будет входить в систему, блокирует рабочую станцию, удаляет некоторые файлы и затем перезапускает систему. Я рассмотрел использование этого решения, чтобы просмотреть список запущенных процессов и проверить имена пользователей, определяя, не зарегистрирован ли пользователь, сопоставляя имена пользователей с SYSTEM, NETWORK, и т.д. Я понял, что у меня работает PostgreSQL, которая использует учетную запись пользователя с именем postgres, так что это не сработает. Проверка того, работает ли explorer.exe, также не будет работать, поскольку sometmes explorer падает, или я иногда завершаю процесс самостоятельно и перезапускаю его.
Что было бы хорошим способом определения того, что пользователь NO не зарегистрирован на рабочей станции с помощью С#?