Задать вопрос

Как подписаться на Logon/Logout пользователя из Windows Service .NET9?

Сделал windows service по tutorial'у.
Сервис запускается автоматом из под Local System.
Как подписаться на Logon/Logout пользователя, чтобы зафиксировать кто и когда залогинился локально/RDP ?
  • Вопрос задан
  • 69 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@NortheR73
системный инженер
Отслеживать события в журнале безопасности:
4624: An account was successfully logged on
4634: An account was logged off

Если речь именно про подписку на события - Event Log Subscriptions (Forwarding) - то настраиваете на своей машине коллектор, на наблюдаемой машине настраиваете подписку на нужные события (4624, 4634). Дальше на своей машине разбираете подписочные события для получения имен пользователей, типа входа и т.д.
Ответ написан
Комментировать
@Degot Автор вопроса
Через WMI Logon пользователя ловлю:

var logonQuery = new WqlEventQuery("__InstanceCreationEvent", $"TargetInstance isa \"Win32_LogonSession\" AND (TargetInstance.LogonType = 2 OR TargetInstance.LogonType = 10)");
_logonWatcher = new ManagementEventWatcher(logonQuery);


А вот logoff с __InstanceDeletionEvent нет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы