WIN32 - последний пользователь для входа - PullRequest
0 голосов
/ 16 ноября 2010

Есть ли надежный способ определения последнего имени пользователя для входа в систему? Я посмотрел на LsaEnumerateLogonSessions () и LsaGetLogonSessionData (), однако они требуют повышения в Vista и более поздних версиях (которых я очень хочу избежать). У WMI та же проблема (возможно, это просто вызов Lsa за кулисами).

Я также посмотрел на «ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows \ CurrentVersion \ Authentication \ LogonUI \ LastLoggedOnUser» в HKLM, но при тестировании это ненадежно и не обновляется.

Меня действительно интересуют только входы в консоль, а не быстрое переключение пользователей или входы TS.

Я читал различные статьи, но пока не нашел хорошего решения.

1 Ответ

0 голосов
/ 18 ноября 2010

Возможно, вы сможете использовать Аудит событий входа в систему - для этого требуется, чтобы ваша служба имела право доступа пользователя для просмотра журнала безопасности, но не являлась полным администратором.

Eventid 528 указывает, кто вошел в систему, вам нужно будет найти самый последний экземпляр этого.

...