WIN32 - последний пользователь для входа
Есть ли надежный способ определения последнего имени пользователя для входа в систему? Я посмотрел на LsaEnumerateLogonSessions() и LsaGetLogonSessionData(), однако они требуют повышения в Vista и более поздних версиях (которых я очень хочу избежать). У WMI та же проблема (возможно, это просто вызов Lsa за кулисами).
Я также посмотрел на "ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \Microsoft\Windows\CurrentVersion\Authentication\LogonUI\LastLoggedOnUser" в HKLM, но при тестировании это ненадежно и не обновляется.
Я действительно интересуюсь только консольным входом в систему, а не быстрым переключением пользователей или входом в систему TS.
Я читал разные статьи, но пока не нашел хорошего решения.
1 ответ
Возможно, вы сможете использовать события Audit Logon - для этого требуется, чтобы ваша служба имела право доступа пользователя для просмотра журнала безопасности, но не являлась полным администратором.
Eventid 528 указывает, кто вошел в систему, вам нужно будет найти самый последний экземпляр этого.