Как подписаться на Logon/Logout пользователя из Windows Service .NET9?
Сделал windows service по tutorial'у.
Сервис запускается автоматом из под Local System.
Как подписаться на Logon/Logout пользователя, чтобы зафиксировать кто и когда залогинился локально/RDP ?
Если речь именно про подписку на события - Event Log Subscriptions (Forwarding) - то настраиваете на своей машине коллектор, на наблюдаемой машине настраиваете подписку на нужные события (4624, 4634). Дальше на своей машине разбираете подписочные события для получения имен пользователей, типа входа и т.д.
var logonQuery = new WqlEventQuery("__InstanceCreationEvent", $"TargetInstance isa \"Win32_LogonSession\" AND (TargetInstance.LogonType = 2 OR TargetInstance.LogonType = 10)");
_logonWatcher = new ManagementEventWatcher(logonQuery);