Как из командной строки Windows XP узнать время входа в систему и / или выхода из нее? Я ищу что-то вроде последней команды UNIX, в которой перечислены активные и предыдущие сеансы входа в систему.
Спасибо,
Джон
В quser.exe
Утилита, поставляемая с Windows Server 2003 и новее, будет работать под Windows XP и будет возвращать текущее время входа в систему для сеанса консоли.
Вы также можете запросить время входа в систему из WMI с помощью сценария:
Function WMIDateToString(varWMIDate)
WMIDateToString = Mid(varWMIDate, 5, 2) & "/" & Mid(varWMIDate, 7, 2) & "/" & Left(varWMIDate, 4) & " " & Mid
(varWMIDate, 9, 2) & ":" & Mid(varWMIDate, 11, 2) & ":" & Mid(varWMIDate, 13, 2)
End Function
For Each usr In GetObject("winmgmts:").ExecQuery("SELECT * FROM Win32_NetworkLoginProfile")
WScript.Echo usr.Caption
WScript.Echo WMIDateToString(usr.LastLogOn)
Next
Что касается предыдущих входов в систему, вы застрянете при анализе журнала событий, предполагая, что у вас включен аудит успешных входов в систему.
Событие 528 из источника «Безопасность» регистрируется в журнале событий «Безопасность» каждый раз при успешном входе в систему. Входы с «Типом входа» равным «2» - это интерактивные входы в систему с консоли.
Событие 538 из источника «Безопасность» регистрируется в журнале событий «Безопасность» при выходе пользователя из системы. Вам нужно будет сопоставить «Logon ID» из события входа в систему с событием выхода из системы, чтобы вычислить время.
Вы также можете просто ввести запрос пользователя из командной строки XP. Что касается предыдущих входов в систему, вам нужно будет включить аудит для запроса журнала событий.