Как я могу использовать средство просмотра событий для подтверждения времени входа в систему, отфильтрованного пользователем?

Мне нужно регистрировать время начала и окончания работы. Иногда я забываю это сделать и имел яркую идею, что проверка журнала событий безопасности позволила бы мне ретроспективно определить мои времена.

К сожалению, журналы намного больше, чем я думал, и на некоторое время даже покажут в Event Viewer. Кроме того, я попытался фильтровать журналы по дате и идентификатору пользователя, но пока это не дало результатов.

Предполагая, что моя идея возможна, может ли кто-нибудь пройти через то, что мне нужно сделать, чтобы получить необходимую мне информацию?

ОБНОВИТЬ:

Я следовал инструкциям @surfasb и получил указание указать, где я могу видеть только логины, однако некоторые из них являются системными (т.е. нечеловеческими) входами. Я бы хотел увидеть только мои «физические» логины (в будние дни было бы только два или три таких мероприятия), а не все остальные.

Я попытался поместить свое имя пользователя Windows в поле, как показано ниже, используя domain\username и просто username но это просто отфильтровывает все. Можете ли вы помочь?

Введите описание изображения здесь

Конфигурация по умолчанию делает ее довольно запутанной. Это связано с тем, что Windows также отслеживает в любое время, когда вы должны подключаться к сетевым компьютерам. Он также отслеживает каждый раз, когда учетная запись вашего компьютера, а не учетная запись пользователя, создает сеанс входа в систему.

Вы должны использовать параметр входа в учетную запись аудита, а не параметр входа в систему аудита .

События, которые вы ищете, будут иметь полное доменное имя вашей учетной записи. Например, если вы не находитесь в домене, то поисковый текст, который вы ищете, – имя_компьютера / account_name.

редактировать

Другая идея – создать скрипты входа и выхода из системы. В зависимости от вашей версии Windows 7 вы можете использовать gpedit.msc для вызова консоли групповой политики.

Тогда вам просто понадобится пакетный файл с командой logevent "My login/logoff event" -e 666 . Это событие появится в журнале приложений

редактировать

Это будет проще, если вы не находитесь в домене. Если вы перейдете в раздел «Локальная безопасность / Локальные политики / Параметры безопасности», найдите параметр «Силовой аудит …». Я забыл его имя. Но отключите его. Это сделает журналы безопасности менее подробными, так как пользователь, входящий в систему на консоли, в некоторых случаях имеет один и тот же идентификатор события. Некоторые идентификаторы событий, которые вы хотите найти:

  • Событие 4647 – это когда вы нажимаете кнопку выхода из системы, перезапуска, выключения. Обновление Windows, перезагружающее компьютер, также иногда отключает это событие 🙁
  • Событие 4648 – это когда процесс (который включает экран входа в систему) использует ваши явные учетные данные, а не токен, для входа. Это включает в себя команду Runas и много раз, программы резервного копирования.
  • Событие 4800 – Когда ваша рабочая станция заблокирована, например, нажатие WIN + L
  • Событие 4801 – Когда ваша рабочая станция разблокирована

Как правило, вы можете использовать события 4647 и 4648. К сожалению, нет надежного метода пожара, так как существует тысяча вещей, которые происходят при входе в систему и выходе из системы.

Для этого стоит, на работе, искать сценарий входа в систему и выходить из него, есть две программы, а также событие синхронизации, которое мы ищем как аварийные события.

У меня была такая же проблема, и мне удалось ее решить, используя следующие шаги:

A: Установите MyEventViewer (бесплатно) и откройте список событий в этой программе.

К сожалению, я не нашел, как фильтровать события по описанию (а описание – это имя для входа в систему) в MyEventViewer, но по крайней мере, но оно отображает описание в основной таблице.

B: экспортируйте эту таблицу в файл log1.txt

C: Используйте некоторую расширенную программу текстового поиска для извлечения времени входа для данного пользователя.

Я использовал grep.

Это формат экспортируемых событий:

Тип журнала: Безопасность

Тип события: аудит успеха

Время: 10.12.2012 18:33:24

Код события: 680

Имя пользователя: SYSTEM

Компьютер: YYY

Описание события: попытка входа в систему: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0 Счет входа в систему: XXX Исходная рабочая станция: YYY Код ошибки: 0x0

==================================================

==================================================

Сначала извлеките все попытки входа пользователя пользователем XXX.

$ grep -B 4 "Logon attempt by: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0 Logon account: XXX" log1.txt > log2.txt

Это позволит фильтровать попытки входа пользователя XXX и распечатать его в файле log2.txt. -B 4 параметр grep необходим, потому что информация, которую мы ищем (время входа), хранится в 4 строках над строкой, содержащей шаблон, который мы ищем (имя пользователя).

D: Извлеките время входа из файла log2.txt

$ grep "Time" log2.txt > log3.txt

Теперь log3.txt перечисляет все время входа для данного пользователя:

Время: 10.12.2012 14:12:32

Время: 7.12.2012 16:20:46

Время: 5.12.2012 19:22:45

Время: 5.12.2012 18:57:55

Упрощенное решение, вероятно, существует, но я не смог его найти, поэтому это должно было сделать трюк для меня.

Попробуйте использовать вкладку «Фильтр XML » и укажите следующее:

 <QueryList> <Query Id="0" Path="Security"> <Select Path="Security">*[System[EventID=4672] and EventData[Data[@Name='SubjectUserName'] = 'your_username']] </Select> </Query> </QueryList> 
Давайте будем гением компьютера.