Назад | Перейти на главную страницу

Посмотрите, в какое время пользователь вошел в окно Windows

Как из командной строки 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. Что касается предыдущих входов в систему, вам нужно будет включить аудит для запроса журнала событий.