Журнал регистрации пользователей windows

При расследовании различных инцидентов администратору необходимо получить информацию кто и когда заходил на определенный компьютер Windows. Историю входов пользователя в доменной сети можно получить из журналов контроллеров домена. Но иногда проще получить информацию непосредсвенно из логов компьютера. В этой статье мы покажем, как получить и проанализировать историю входа пользователей на компьютер/сервер Windows. Такая статистика поможет вам ответить на вопрос “Как в Windows проверить кто и когда использовал этот компьютере”.

Содержание:

  • Настройка политики аудита входа пользователей в Windows
  • Поиск событий входа пользователей в журнале событий Windows
  • Анализ событий входа пользователей в Windows с помощью PowerShell

Настройка политики аудита входа пользователей в Windows

Сначала нужно включить политик аудита входа пользователей. На отдельностоящем компьютере для настройки параметров локальной групповой политики используется оснастка gpedit.msc. Если вы хотите включить политику для компьютеров в домене Active Directorty, нужно использовать редактор доменных GPO (
gpmc.msc
).

  1. Запустите консоль GPMC, создайте новую GPO и назначьте ее на Organizational Units (OU) с компьютерами и / или серверами, для которых вы хотите включить политику аудита событий входа;
  2. Откройте объект GPO и перейдите в раздел Computer Configuration -> Policies -> Windows Settings -> Security Settings –> Advanced Audit Policy Configuration -> Audit Policies -> Logon/Logoff;
  3. Включите две политики аудита Audit Logon и Audit Logoff. Это позволит отслеживать как события входа, так и события выхода пользователей. Если вы хотите отслеживать только успешные события входа, включите в настройках политик только опцию Success;
    груповая политика - аудит событий входа на компьютеры windows

  4. Закройте редактор GPO и обновите настройки политик на клиентах.

Поиск событий входа пользователей в журнале событий Windows

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

  1. Откройте оснастку Event Viewer (
    eventvwr.msc
    );
  2. Разверните секцию Windows Logs и выберите журнал Security;
  3. Щелкните по нему правой клавишей и выберите пункт Filter Current Log;
  4. В поле укажите ID события 4624 и нажмите OK;
    фильтр событий event viewer

  5. В окне события останутся только события входа пользователей, системных служб с описанием
    An account was successfully logged on
    ;
  6. В описании события указано имя и домен пользователя, вошедшего в систему:
    New Logon:
    Security ID: WINITPRO\a.khramov
    Account Name: a.khramov
    Account Domain: WINITPRO

событие eventid 4626 - локальный вход пользователя в windows

Ниже перечислены другие полезные EventID:

Event ID Описание
4624 A successful account logon event
4625 An account failed to log on
4648 A logon was attempted using explicit credentials
4634 An account was logged off
4647 User initiated logoff

Если полистать журнал событий, можно заметить, что в нем присутствуют не только события входа пользователей на компьютер. Здесь также будут события сетевого доступа к этому компьютеру (при открытии по сети общих файлов или печати на сетевых принтерах), запуске различных служб и заданий планировщика и т.д. Т.е. очень много лишний событий, которые не относятся ко входу локального пользователя. Чтобы выбрать только события интерактивного входа пользователя на консоль компьютера, нужно дополнительно сделать выборку по значению параметра Logon Type. В таблице ниже перечислены коды Logon Type.

Код Logon Type Описание
0 System
2 Interactive
3 Network
4 Batch
5 Service
6 Proxy
7 Unlock
8 NetworkCleartext
9 NewCredentials
10 RemoteInteractive
11 CachedInteractive
12 CachedRemoteInteractive
13 CachedUnlock

При удаленном подключении к рабочему столу компьютера по RDP, в журнале событий появится записи с Logon Type 10 или 3. Подробнее об анализе RDP логов в Windows.

В соответствии с этой таблицей событие локального входа пользователя на компьютер должно содержать Logon Type: 2.

Для фильтрации события входа по содержать Logon Type лучше использовать PowerShell.

Анализ событий входа пользователей в Windows с помощью PowerShell

Допустим, наша задача получить информацию о том, какие пользователи входили на этот компьютер за последнее время. Нам интересует именно события интерактивного входа (через консоль) с
LogonType =2
. Для выбора события из журналов Event Viewer мы воспользуемся командлетом Get-WinEvent.

Следующий PowerShell скрипт выведет история входа пользователей на текущий компьютер и представит ее в виде графической таблицы Out-GridView.

$query = @'
<QueryList>
<Query Id='0' Path='Security'>
<Select Path='Security'>
*[System[EventID='4624']
and(
EventData[Data[@Name='VirtualAccount']='%%1843']
and
EventData[Data[@Name='LogonType']='2']
)
]
</Select>
</Query>
</QueryList>
'@
$properties = @(
@{n='User';e={$_.Properties[5].Value}},
@{n='Domain';e={$_.Properties[6].Value}},
@{n='TimeStamp';e={$_.TimeCreated}}
@{n='LogonType';e={$_.Properties[8].Value}}
)
Get-WinEvent -FilterXml $query | Select-Object $properties|Out-GridView

poweshell скрипт для получения списка пользователей, которые входили на этот компьтер

Если нужно выбрать события входа за последние несколько дней, можно добавить pipe с таким условием:

|Where-Object {$_.TimeStamp -gt '5/10/22'}

Командлет Get-WinEvent позволяет получить информацию с удаленных компьютеров. Например, чтобы получить историю входов с двух компьютеров, выполните следующий скрипт:

'msk-comp1', 'msk-comp2' |
ForEach-Object {
Get-WinEvent -ComputerName $_ -FilterXml $query | Select-Object $properties
}

Если протокол RPC закрыт между компьютерами, вы можете получить данные с удаленных компьютеров с помощью PowerShell Remoting командлета Invoke-Command:

Invoke-Command -ComputerName 'msk-comp1', 'msk-comp2' {Get-WinEvent -FilterXml $query | Select-Object $properties}

  • Home
  • News
  • How to Check Computer Login History on Windows 10/11?

By Stella | Follow |
Last Updated

You may want to know who has logged into your computer and when. But do you know how to check it? To help you do this, MiniTool Software shows you a full guide on how to check computer login history on Windows 10/11. If you are running Windows 8/8.1 or Windows 7, this guide is also available.

Tip: If you are looking for a free file recovery tool, you can try MiniTool Power Data Recovery. This software can help you recover all kinds of files from hard drives, SD cards, memory cards, SSDs, and more, as long as the files are not overwritten by new data.

MiniTool Power Data Recovery TrialClick to Download100%Clean & Safe

Sometimes you may feel that someone is logged into your computer, but you are not sure. Well then, is it possible to check if someone logged into your Windows computer? Of course, yes. Windows 10/11 has an Audit logon events policy that allows you to view login history on Windows 10/11. However, this policy is not enabled by default on your device. So, you need to manually enable it. Then you can see the Windows login log to know which has logged into your PC.

How to Check Computer Login History on Windows 10/11?

Step 1: Enable Audit Logon Events on Windows 10/11

Tip: You need to enable Audit logon events using Local Group Policy, which is available in Windows 10/11 Pro or more advanced versions. If you are running Windows 10/11 Home, the thing is different because this feature is enabled by default on your computer. So, you can just skip to the next step to view login history on Windows 10/11.

The following guide is based on Windows 11. If you are running Windows 10, the steps are the same.

  1. Click the search bar from the taskbar and search for gpedit.msc.
  2. Click the first result to open Local Group Policy Editor.
  3. Go to this path: Computer Configuration > Windows Settings > Security Settings > Local Policies > Audit Policy.
  4. Find Audit logon events from the right panel. Then, double-click it to open Properties.
  5. Check both Success and Failure under Local Security Setting.
  6. Click Apply.
  7. Click OK.

enable Audit logon events on Windows 11

After these steps, your Windows computer will begin to track the login attempts no matter it is successful or not.

Tip: If you don’t want to track the login history, you can uncheck Success and Failure in step 5.

Step 2: Find out Who Is Logged into Your Computer

You can use the Event Viewer to check who is logged into your computer and when. Here is a guide on how to find out who is logged into your computer:

  1. Right-click Start and select Event Viewer.
  2. Go to Windows Logs > Security.
  3. Find the 4624 event ID and double-click it to open it.
  4. Under the General section, check the Account Name. It is the account who have logged into your device. You can see when that account was logged in the computer under Logged.

check who is logged into your PC and when

After clicking Security, you can see that there are many logon reports. It may take some time to find your needed log. Fortunately, you can use the filter feature of Event Viewer to make the task easier.

1. Right-click Custom Views and click Create Custom View.

2. Under the Filter section, you need to:

  • Select a time range for Logged.
  • Select By log and then select Security under Windows logs for Event logs.
  • Type 4624 in the All Event IDs box.

enter filter information

3. Click OK to save the changes.

Now, you can easily find the Windows 10/11 login history.

About The Author

Position: Columnist

Stella has been working in MiniTool Software as an English Editor for more than 8 years. Her articles mainly cover the fields of data recovery including storage media data recovery, phone data recovery, and photo recovery, videos download, partition management, and video & audio format conversions.

Есть несколько различных инструментов получения информации о времени логина пользователя в домен. Время последней успешной аутентификации пользователя в домене можно получить из атрибута lastLogon (обновляется только на контроллере домена, на котором выполнена проверка учетных данных пользователя) или lastLogonTimpestamp (реплицируется между DC в домене, но по умолчанию только через 14 дней). Вы можете получить значение этого атрибута пользователя в редакторе атрибутов AD или командлетом Get-ADUser. Однако иногда нужно получить историю активности (входов) пользователя в домене за большой период времени.

Вы можете получить информацию об успешных входах (аутентфикации) пользователя в домене из журналов контроллеров домена. В этой статье мы покажем, как отслеживать историю входов пользователя в домен с помощью PowerShell.. Т.е. можно получить полную историю активности пользователя в домене, время начала работы и компьютеры, с которых работает пользователь.

Содержание:

  • Политика аудита входа пользователя в домен
  • PowerShell: истории сетевых входов пользователя в домен
  • Получаем информацию об активности пользователя в домене по событиям Kerberos

Политика аудита входа пользователя в домен

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

  1. Запустите редактор доменных GPO – GPMC.msc;
  2. Откройте настройки Default Domain Policy и перейдите в раздел Computer Configuration -> Policies -> Windows Settings -> Security Settings –> Advanced Audit Policy Configuration -> Audit Policies -> Logon/Logoff;
    Advanced Audit Policy Configuration - data-lazy-src=

  • Включите две политики аудита (Audit Logon и Audit Other Logon/Logoff Events). Чтобы в журналах Security на DC и компьютерах регистрировались как успешные, так и неуспешные политики входа, выберите в настройках политика аудита опции Success и Failure
    включить политки аудита входа в домен Audit Logon

  • Сохраните изменения в GPO и обновите настройки политик на контроллерах домена командой: gpupdate /force (или подождите 90 минут, без учета репликации между DC).
  • Теперь при входе пользователя на любой компьютер домена Active Directory в журнале контроллера домена, который выполняет аутентификацию пользователя, появляется событие с Event ID 4624 (An account was successfully logged on). В описании этого события указана учетная запись, которая успешно аутентифицировалась (Account name), имя (Workstation name) или IP адрес (Source Network Address) компьютера, с которого выполнен вход.

    Также в поле Logon Type указан тип входа в систему. Нас интересуют следующие коды

    • Logon Type 10 – Remote Interactive logon – вход через службы RDP, теневое подключение или Remote Assistance (на DC такое событие может быть при входе администратора, или другого пользователя, которому предоставлены права входа на DC) Это событие используется при анализе событий входа пользователей по RDP.
    • Logon Type 3 –  Network logon сетевой вход (происходит при аутентфикации пользователя на DC, подключения к сетевой папке, принтеру или службе IIS)

    Event ID 4624 An account was successfully logged on

    Также можно отслеживать событие выдачи билета Kerberos при аутентификации пользователя. Event ID 4768A Kerberos authentication ticket (TGT) was requested. Для этого нужно включить аудит событий в политики Account Logon –> Audit Kerberos Authentication Service -> Success и Failure.

    включить политику аудита Audit Kerberos Authentication Service

    В событии 4768 также указана учетная запись пользователя (Account Name или User ID), который получил билет Kerberos (аутентифицировался) и имя (IP адрес) компьютера.

    4768 - A Kerberos authentication ticket (TGT) was requested

    PowerShell: истории сетевых входов пользователя в домен

    С помощью командлета PowerShell Get-Eventlog можно получить все события из журнала контроллера домена, отфильтровать их по нужному коду (EventID) и вывести данные о времени, когда пользователь аутентифицировался в домене, и компьютере, с которого выполнен вход. Т.к. в домене может быть несколько контроллеров домена и нужно получить история входов пользователя с каждого из них, нужно воспользоваться командлетом Get-ADDomainController (из модуля AD для Windows PowerShell). Данный командлет позволяет получить список всех DC в домене.

    Следующий PowerShell скрипт позволяет получить все события входа пользователя в домен AD со всех контроллеров домена. На выходе вы получаете таблицу с историей входа пользователя и компьютеров, с которых аутентифицировался пользователь.

    # имя пользователя, историю входов которого нужно получить
    $checkuser='*ivanov*'
    # получаем информацию об истории входов пользователя за последних 2 дня, можете изменить
    $startDate = (get-date).AddDays(-2)
    $DCs = Get-ADDomainController -Filter *
    foreach ($DC in $DCs){
    $logonevents = Get-Eventlog -LogName Security -InstanceID 4624 -after $startDate -ComputerName $dc.HostName
    foreach ($event in $logonevents){
    if (($event.ReplacementStrings[5] -notlike '*$') -and ($event.ReplacementStrings[5] -like $checkuser)) {
    # Remote (Logon Type 10)
    if ($event.ReplacementStrings[8] -eq 10){
    write-host "Type 10: Remote Logon`tDate: "$event.TimeGenerated "`tStatus: Success`tUser: "$event.ReplacementStrings[5] "`tWorkstation: "$event.ReplacementStrings[11] "`tIP Address: "$event.ReplacementStrings[18] "`tDC Name: " $dc.Name
    }
    # Network(Logon Type 3)
    if ($event.ReplacementStrings[8] -eq 3){
    write-host "Type 3: Network Logon`tDate: "$event.TimeGenerated "`tStatus: Success`tUser: "$event.ReplacementStrings[5] "`tWorkstation: "$event.ReplacementStrings[11] "`tIP Address: "$event.ReplacementStrings[18] "`tDC Name: " $dc.Name
    }
    }
    }
    }

    poweshell - история входов пользователя в домен

    Получаем информацию об активности пользователя в домене по событиям Kerberos

    Также вы можете получить историю аутентификации пользователя в домене по по событию выдачи билета Kerberos (TGT Request — EventID 4768). В этом случае в итоговых данных будет содержаться меньшее количество событий (исключены сетевые входы, обращения к папкам на DC во время получения политик и выполнения логон-скриптов). Следующий PowerShell скрипт выведет информацию о всех входах пользователей за последние 24 часа:

    $alluserhistory = @()
    $startDate = (get-date).AddDays(-2)
    $DCs = Get-ADDomainController -Filter *
    foreach ($DC in $DCs){
    $logonevents = Get-Eventlog -LogName Security -InstanceID 4768 -after $startDate -ComputerName $dc.HostName
    foreach ($event in $logonevents){
    if ($event.ReplacementStrings[0] -notlike '*$') {
    $userhistory = New-Object PSObject -Property @{
    UserName = $event.ReplacementStrings[0]
    IPAddress = $event.ReplacementStrings[9]
    Date = $event.TimeGenerated
    DC = $dc.Name
    }
    $alluserhistory += $userhistory
    }
    }
    }
    $alluserhistory

    powershell скрипт 4768 - история аутентфикации пользователей по выдаче билетом kerberos

    Обратите, что в этом случае вы не увидите события входов пользователей, которые аутентифицировались с клиентов или приложений, которые используют NTLM вместо Kerberos.

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

    Просмотреть такую информацию можно в утилите «Просмотр событий», однако есть способ проще — отображение данных о предыдущих входах в Windows 10 на экране входа в систему, что и будет показано в этой инструкции (работает только для локальной учетной записи). Также на схожую тему может пригодиться: Как ограничить количество попыток ввода пароля Windows 10, Родительский контроль Windows 10.

    Узнаем, кто и когда включал компьютер и входил в Windows 10 с помощью редактора реестра

    В первом способе используется редактор реестра Windows 10. Рекомендую предварительно сделать точку восстановления системы, может пригодиться.

    1. Нажмите клавиши Win+R на клавиатуре (Win — это клавиша с эмблемой Windows) и введите regedit в окно «Выполнить», нажмите Enter.
    2. В редакторе реестра перейдите к разделу (папки слева) HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Windows\ CurrentVersion\ Policies\ System
    3. Нажмите правой кнопкой мыши в пустом месте правой части редактора реестра и выберите «Создать» — «Параметр DWORD 32 бита» (даже если у вас 64-разрядная система).
    4. Введите имя DisplayLastLogonInfo для этого параметра. 
      Создать параметр для отображения последнего входа в Windows 10

    5. Дважды кликните по вновь созданному параметру и задайте значение 1 для него. 

    По завершении закройте редактор реестра и перезагрузите компьютер. При следующем входе в систему вы увидите сообщение о предыдущем успешном входе в Windows 10 и о неудачных попытках входа, если такие были, как на скриншоте ниже.

    Сообщение о предыдущих входах в Windows 10

    Отображение информации о предыдущем входе в систему с помощью редактора локальной групповой политики

    Если у вас установлена Windows 10 Pro или Enterprise, то описанное выше вы можете сделать и с помощью редактора локальной групповой политики:

    1. Нажмите клавиши Win+R и введите gpedit.msc
    2. В открывшемся редакторе локальной групповой политики перейдите к разделу Конфигурация компьютера — Административные шаблоны — Компоненты Windows — Параметры входа Windows
      Параметры входа в редакторе локальной групповой политики

    3. Дважды кликните по пункту «Отображать при входе пользователя сведения о предыдущих попытках входа», установите значение «Включено», нажмите Ок и закройте редактор локальной групповой политики. 
      Включение отображения информации о входах в gpedit

    Готово, теперь при следующих входах в Windows 10 вы будете видеть дату и время удачных и неудачных входов этого локального пользователя (функция поддерживается также для домена) в систему. Также может заинтересовать: Как ограничить время использования Windows 10 для локального пользователя.

    Как посмотреть логи Windows Server 2022. Журнал событий.

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

    Получить доступ к этим записям можно через встроенное приложение Просмотр событий (Event Viewer). Есть несколько вариантов запуска данного приложения:

    • через меню Пуск – Просмотр событий (Start – Event Viewer)

    win_log1.png

    • в командной строке или в окне Выполнить набрать eventvwr.msc

    win_log2.png

    • в Диспетчере серверов в разделе Средства выбрать Просмотр событий (Server Manager – Tools – Event Viewer). В диспетчер серверов можно зайти, через меню «Пуск»

    win_log3.png

    Описание интерфейса программы

    Окно программы состоит из следующих компонентов:

    win_log4.png

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

    2. Список событий, содержащийся в выбранном журнале. В колонках выведена базовая информация о событии. Их можно отсортировать по датам, типам, категориям событий и т.д.;

    3. Детальная информация о выбранном во второй панели событии. Также детальную информацию можно открыть в отдельном окне, если кликнуть по нужному событию два раза;

    4. Панель быстрых действий, которые можно совершить с данным журналом или событием. Действия также доступны в контекстном меню (клик правой кнопкой мыши по журналу или событию).

    Для удобства просмотра и управления системные журналы разбиты по категориям:

    • Приложения (Application) – как и гласит название, содержит события и ошибки приложений;
    • Безопасность (Security) – если в операционной системе включена и настроена функция аудита, журнал будет содержать записи, связанные с отслеживанием соответствующих событий (например, авторизация пользователя или попытки неудачного входа в операционную систему);
    • Система (System) – здесь регистрируются события операционной системы и системных сервисов;
    • Установка (Setup) – события, связанные с инсталляцией обновлений Windows, дополнительных приложений.

    В разделе Журналы приложений и служб (Applications and Services Logs) можно найти более детальную информацию о событиях отдельных служб и приложений, зарегистрированных в операционной системе, что бывает полезно при диагностике проблем в работе отдельных сервисов.

    Сами события также разделяются на типы:

    • Сведения (Information) — информируют о штатной работе приложений.
    • Предупреждение (Warning) — событие, свидетельствующее о возможных проблемах в будущем (например, заканчивается свободное место на диске – приложения могут продолжать работу в штатном режиме, но когда место закончится совсем, работа будет невозможна).
    • Ошибка (Error) — проблема, ведущая к деградации приложения или службы, потерям данных.
    • Критическое (Critical) — значительная проблема, ведущая к неработоспособности приложения или службы.
    • Аудит успеха (Success audit) — событие журнала Безопасность (Security), обозначающее успешно осуществленное действие, для которого включено отслеживание (например, успешный вход в систему).
    • Аудит отказа (Failure audit) — событие журнала Безопасность (Security) обозначающее безуспешную попытку осуществить действие, для которого включено отслеживание (например, ошибка входа в систему).
    Как узнать, кто перезагрузил (выключил) сервер Windows?

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

    1. Откройте консоль Event Viewer и перейдите в раздел Windows Logs -> System;

    win_log6.png

    2. Включите фильтр журнала событий в панели быстрых действий справа

    win_log7.png

    3. В поле фильтра укажите EventID 1074 и нажмите OK;

    win_log8.png

    4. В журнале событий останутся только события выключения (перезагрузки), откройте нужное событие

    win_log9.png

    В событии от источника User32 будет указан пользователь, который инициировал перезагрузку Windows. В этом примере это пользователь Administrator.

    В качестве пользователя, запустившего перезагрузку операционную систему может быть указан NT AUTHORITY\SYSTEM.

    Это означает, что перезагрузку инициировала одна из служб или программ Windows, запущенная от имени SYSTEM.. Например, это может быть процесс службы wuauserv, который закончил установку обновлений Windows и выполнил перезагрузку согласно настроенной политике Windows Update или с помощью задания модуля PSWindowsUpdate.

    The process C:\Windows\uus\AMD64\MoUsoCoreWorker.exe (WKS-PC11S22) has initiated the restart of computer WKS-PC11S22 on behalf of user NT AUTHORITY\SYSTEM for the following reason: Operating System: Service pack (Planned)
    Reason Code: 0x80020010
    Shutdown Type: restart
    Comment:

    Если у Вас виртуальный сервер, и он был перезагружен из панели управления VMmanager6, то в журнале может быть следующая запись:

    win_log10.png

    По событию 1074 можно найти только причины корректных (штатных) перезагрузок сервера. Если Windows была перезагружена не штатно (например, при потере электропитания, или появления BSOD), тогда нужно искать события с EventID 6008.

    Просмотр журнала производительности Windows

    В просмотре событий Windows можно найти достаточное количество интересных вещей, например — посмотреть на проблемы с производительностью компьютера. Для этого в левой панели откройте Журналы приложений и служб — Microsoft — Windows — Diagnostics-Perfomance — тут вы можете наблюдать, есть ли среди событий какие-либо ошибки — они сообщают о том, что какой-то компонент или программа привела к замедлению загрузки Windows. По двойному клику по событию, вы можете вызвать подробную информацию о нем.

    win_log5.png

    Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии
  • Как отключить слежку в windows 10 habr
  • Где найти ошибки синего экрана windows 10
  • Hp laserjet 1018 driver for windows 10
  • Ccleaner для windows 10 не запускается
  • Автоматическая установка драйверов на windows 7 без интернета