Поиск по журналу событий windows

Содержание:

  • 1 Где находится журнал событий Windows
  • 2 Как открыть журнал
  • 3 Как использовать содержимое журнала
  • 4 Очистка, удаление и отключение журнала

Даже когда пользователь ПК не совершает никаких действий, операционная система продолжает считывать и записывать множество данных. Наиболее важные события отслеживаются и автоматически записываются в особый лог, который в Windows называется Журналом событий. Но для чего нужен такой мониторинг? Ни для кого не является секретом, что в работе операционной системы и установленных программ могут возникать сбои. Чтобы администраторы могли находить причины таких ошибок, система должна их регистрировать, что собственно она и делает.

Итак, основным предназначением Журнала событий в Windows 7/10 является сбор данных, которые могут пригодиться при устранении неисправностей в работе системы, программного обеспечения и оборудования. Впрочем, заносятся в него не только ошибки, но также и предупреждения, и вполне удачные операции, например, установка новой программы или подключение к сети.

Физически Журнал событий представляет собой набор файлов в формате EVTX, хранящихся в системной папке %SystemRoot%/System32/Winevt/Logs.

Файлы журнала событий

Хотя эти файлы содержат текстовые данные, открыть их Блокнотом или другим текстовым редактором не получится, поскольку они имеют бинарный формат. Тогда как посмотреть Журнал событий в Windows 7/10, спросите вы? Очень просто, для этого в системе предусмотрена специальная штатная утилита eventvwr.

Как открыть журнал

Запустить утилиту можно из классической Панели управления, перейдя по цепочке Администрирование – Просмотр событий или выполнив в окошке Run (Win+R) команду eventvwr.msc.

Переход в Журнал событий

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

Просмотр событий

Наибольший интерес представляет раздел «Журналы Windows», именно с ним чаще всего приходится работать, выясняя причины неполадок в работе системы и программ. Журнал системных событий включает три основных и две дополнительных категории. Основные это «Система», «Приложения» и «Безопасность», дополнительные – «Установка» и «Перенаправленные события».

Категория «Система» содержит события, сгенерированные системными компонентами – драйверами и модулями Windows.

Ветка «Приложения» включает записи, созданные различными программами. Эти данные могут пригодиться как системным администраторам и разработчикам программного обеспечения, так и обычным пользователям, желающим установить причину отказа той или иной программы.

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

Так как число событий может исчисляться тысячами и даже десятками тысяч, в eventvwr предусмотрена возможность поиска и фильтрации событий по свойствам – важности, времени, источнику, имени компьютера и пользователя, коду и так далее. Допустим, вы хотите получить список системных ошибок. Выберите слева Журналы Windows – Система, справа нажмите «Фильтр текущего журнала» и отметьте в открывшемся окне галочкой уровень события – пункты «Ошибка» и «Критическое». Нажмите «OK» и утилита тут же отфильтрует записи.

Фильтрация записей

Отфильтрованные события

Чтобы просмотреть конкретную запись, кликните по ней дважды – сведения откроются в окошке «Свойства событий».

Свойства события

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

Хорошо, теперь мы в курсе, где находится журнал событий и как его открыть, осталось узнать, как его можно использовать. Сразу нужно сказать, что в силу своей специфичности содержащиеся в нем сведения мало что могут поведать обычному пользователю. О чем говорит, к примеру, ошибка «Регистрация сервера {BF6C1E47-86EC-4194-9CE5-13C15DCB2001} DCOM не выполнена за отведенное время ожидания»? Не обладающему соответствующими знаниями юзеру будет непросто определить причину неполадки, с другой стороны, что мешает поискать ответ в Интернете?

Так, описание приведенной выше ошибки имеется на сайте Microsoft и указывает оно на проблемы со SkyDrive, кстати, не представляющие совершенно никакой угрозы. Если вы не пользуетесь этим сервисом, ошибку можно игнорировать или отключить ее источник в «Планировщике заданий». А еще описание ошибки можно отправить разработчику, предварительно сохранив его в файл XML, CSV или TХT.

Также пользователи могут связывать отслеживаемые события с задачами в «Планировщике заданий». Для этого необходимо кликнуть ПКМ по записи, выбрать «Привязать задачу к событию» и создать с помощью запустившегося мастера нужное задание. В следующий раз, когда произойдет такое событие, система сама запустит выполнение задания.

Создание задачи

Очистка, удаление и отключение журнала

На жестком диске файлы журнала занимают сравнительно немного места, тем не менее, у пользователя может возникнуть необходимость их очистить. Сделать это можно разными способами: с помощью оснастки eventvwr, командной строки и PowerShell. Для выборочной очистки вполне подойдет ручной способ. Нужно зайти в журнал событий, кликнуть ПКМ по очищаемому журналу в левой колонке и выбрать в меню опцию «Очистить журнал».

Очистка журнала через программу просмотра

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

for /F “tokens=*” %1 in (‘wevtutil.exe el’) DO wevtutil.exe cl “%1”

Очистка журнала с помощью командной строки фото 1

Очистка журнала с помощью командной строки фото 2

Вместо командной строки для быстрой и полной очистки журнала также можно воспользоваться консолью PowerShell. Откройте ее с повышенными правами и выполните в ней такую команду:

wevtutil el | Foreach-Object {wevtutil cl “$_”}

Очистка журнала через консоль PowerShell

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

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

Командой services.msc откройте оснастку «Службы», справа найдите «Журнал событий Windows», кликните по нему дважды, в открывшемся окошке свойств тип запуска выберите «Отключено», а затем нажмите кнопку «Остановить».

Отключение протоколирования

Связанные службы

Изменения вступят в силу после перезагрузки компьютера. Вот и все, больше системные и программные события регистрироваться не будут.

Андрей Хамлюк

Эксперт по ремонту и настройке ПК с более чем 5-летним опытом работы. Имеет профильное образование по специальности оператор ЭВМ.

Задать вопрос

Журнал событий Windows (Event Log) — это важный инструмент, который позволяет администратору отслеживать ошибки, предупреждения и другие информационные сообщения, которые регистрируются операционной системой, ее компонентами и различными программами. Для просмотра журнала событий Windows можно использовать графическую MMC оснастку Event Viewer (
eventvwr.msc
). В некоторых случаях для поиска информации в журналах событий и их анализа гораздо удобнее использовать PowerShell. В этой статье мы покажем, как получать информацию из журналов событий Windows с помощью командлета Get-WinEvent.

Содержание:

  • Получение логов Windows с помощью Get-WinEvent
  • Get-WinEvent: быстрый поиск в событиях Event Viewer с помощью FilterHashtable
  • Расширенный фильтры событий Get-WinEvent с помощью FilterXml
  • Получить логи Event Viewer с удаленных компьютеров

На данный момент в Windows доступны два командлета для доступа к событиям в Event Log: Get-EventLog и Get-WinEvent. В подавляющем большинстве случаев рекомендуем использовать именно Get-WinEvent, т.к. он более производителен, особенно в сценариях обработки большого количества событий с удаленных компьютеров. Командлет Get-EventLog является устаревшим и использовался для получения логов в более ранних версиях Windows. Кроме того, Get-EventLog не поддерживается в современных версиях PowerShell Core 7.x.

Получение логов Windows с помощью Get-WinEvent

Для использования команды Get-WinEvent нужно запустить PowerShell с правами администратора (при запуске Get-WinEvent от имени пользователя вы не сможете получить доступ к некоторым логам, например, к Security).

Для получения списка событий из определенного журнала, нужно указать его имя. В данном примере мы выведем последние 20 событий из журнала System:

Get-WinEvent -LogName Application -MaxEvents 20

Чаще всего вам нужно будет получать информацию из журналов System, Application, Security или Setup. Но вы можете указать и другие журналы. Полный список журналов событий в Windows можно получить с помощью команды:

Get-WinEvent -ListLog *

Get-WinEvent командлет PowerShell

Например, чтобы вывести события RDP подключений к компьютеру, нужно указать лог Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational:

Get-WinEvent -LogName Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational

Или получить логи SSH подключений к Windows из журнала OpenSSH/Operational:

Get-WinEvent -LogName OpenSSH/Operational

Можно выбрать события сразу из нескольких журналов. Например, чтобы получить информацию о ошибках и предупреждениях из журналов System и Application за последние 24 часа (сутки), можно использовать такой код:

$StartDate = (Get-Date) - (New-TimeSpan -Day 1)
Get-WinEvent Application,System | Where-Object {($_.LevelDisplayName -eq "Error" -or $_.LevelDisplayName -eq "Warning") -and ($_.TimeCreated -ge $StartDate )}

Get-WinEvent командлет для поиска событий в журнале Windows

Чтобы вывести только определенные поля событий, можно использовать Select-Object или Format-Table:

Get-WinEvent -LogName System | Format-Table Machinename, TimeCreated, Id, UserID

Get-WinEvent вывести определенные поля событий

Можно выполнить дополнительные преобразования с полученными данными. Например, в этом примере мы сразу преобразуем имя пользователя в SID:

Get-WinEvent -filterhash @{Logname = 'system'} |
Select-Object @{Name="Computername";Expression = {$_.machinename}},@{Name="UserName";Expression = {$_.UserId.translate([System.Security.Principal.NTAccount]).value}}, TimeCreated

Get-WinEvent: быстрый поиск в событиях Event Viewer с помощью FilterHashtable

Рассмотренный выше способ выбора определенных событий из журналов Event Viewer с помощью Select-Object прост для понимая, но выполняется крайне медленно. Это особенно заметно при выборке большого количества событий. В большинстве случаев для выборки событий нужно использовать фильтрацию на стороне службы Event Viewer с помощью параметра FilterHashtable.

Попробуем сформировать список ошибок и предупреждений за 30 дней с помощью Where-Object и FilterHashtable. Сравнима скорость выполнения этих двух команд PowerShell с помощью Measure-Command:

$StartDate = (Get-Date).AddDays(-30)

Проверим скорость выполнения команды с Where-Object:

(Measure-Command {Get-WinEvent Application,System | Where-Object {($_.LevelDisplayName -eq "Error" -or $_.LevelDisplayName -eq "Warning") -and ($_.TimeCreated -ge $StartDate )}}).TotalMilliseconds

Аналогичная команда с FilterHashtable:

(Measure-Command {Get-WinEvent -FilterHashtable @{LogName = 'System','Application'; Level =2,3; StartTime=$StartDate }})..TotalMilliseconds

В данном примере видно, что команда выборки событий через FilterHashtable выполняется в 30 раз быстрее, чем если бы обычный Where-Object (
2.5
сек vs
76
секунд).

Get-WinEvent FilterHashtable выполняется намного быстрее

Если вам нужно найти события по EventID, используйте следующую команду с FilterHashtable:

Get-WinEvent -FilterHashtable @{logname='System';id=1074}|ft TimeCreated,Id,Message

В параметре FilterHashtable можно использовать фильтры по следующим атрибутам событий:

  • LogName
  • ProviderName
  • Path
  • Keywords (для поиска успешных событий нужно использовать значение 9007199254740992 или для неуспешных попыток 4503599627370496)
  • ID
  • Level (1=FATAL, 2=ERROR, 3=Warning, 4=Information, 5=DEBUG, 6=TRACE, 0=Info)
  • StartTime
  • EndTime
  • UserID (SID пользователя)
  • Data

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

Get-WinEvent -FilterHashTable @{LogName='System'; StartTime=(get-date).AddDays(-7); EndTime=(get-date).AddHours(-1); ID=1234}

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

Get-WinEvent -FilterHashtable @{logname='System'}|Where {$_.Message -like "*USB*"}

Get-WinEvent поиск текста в событиях

Расширенный фильтры событий Get-WinEvent с помощью FilterXml

Фильтры Get-WinEvent с параметром FilterHashtable являются несколько ограниченными. Если вам нужно использовать для выборки событий сложные запросы с множеством условий, нужно использовать параметр FilterXml, который позволяет сформировать запрос на выбор событий в Event Viewer с помощью XML запроса. Как и FilterHashtable, фильтры FilterXml выполняется на стороне сервера, поэтому результат вы получите довольно быстро.

Например, аналогичный запрос для получения последних ошибок из журнала System за последние 30 дней может выглядеть так:

$xmlQuery = @'
<QueryList>
<Query Id="0" Path="System">
<Select Path="System">*[System[(Level=2 or Level=3) and TimeCreated[timediff(@SystemTime) &lt;= 2592000000]]]</Select>
</Query>
</QueryList>
'@
Get-WinEvent -FilterXML $xmlQuery

Get-WinEvent -FilterXML

Для построения кода сложных XML запросов можно использовать графическую консоль Event Viewer:

  1. Запустите
    eventvwr.msc
    ;
  2. Найдите журнал для которого вы хотите создать и выберите Filter Current Log; Фильтр журнала событий Event Viewer
  3. Выберите необходимые параметры запроса в форме. В этом примере я хочу найти события с определенными EventID за последние 7 дней от определенного пользователя; формируем фильтр в Event Viewer
  4. Чтобы получить код XML запроса для параметра FilterXML, перейдите на вкладку XML и скопируйте полученный код (CTRL+A, CTRL+C); XML запрос в Event Viewer
  5. Если нужно, вы можете вручную отредактировать данный запрос.

Для экспорта списка событий в CSV файл нужно использовать командлет Export-CSV:

$Events= Get-WinEvent -FilterXML $xmlQuery
$events| Export-CSV "C:\ps\FilterSYSEvents.csv" -NoTypeInformation -Encoding UTF8

Получить логи Event Viewer с удаленных компьютеров

Для получения события с удаленного компьютер достаточно указать его имя в параметре -ComputerName:

$computer='msk-dc01'
Get-WinEvent -ComputerName $computer -FilterHashtable @{LogName="System"; StartTime=(get-date).AddHours(-24)} |   select Message,Id,TimeCreated

Можно опросить сразу несколько серверов/компьютеров и поискать на них определенные события. Список серверов можно получить из текстового файла:

$servers = Get-Content -Path C:\ps\servers.txt

Или из Active Directory:

$servers = (Get-ADComputer -Filter 'operatingsystem -like "*Windows server*" -and enabled -eq "true"').Name
foreach ($server in $servers) {
Get-WinEvent -ComputerName $server -MaxEvents 5 -FilterHashtable @{
LogName = 'System'; ID= 1234
} | Select-Object -Property ID, MachineName
}

Здесь есть другой пример для поиска событий блокировки учетной записи пользователя на всех контроллерах домена:

$Username = 'a.ivanov'
Get-ADDomainController -fi * | select -exp hostname | % {
$GweParams = @{
‘Computername’ = $_
‘LogName’ = ‘Security’
‘FilterXPath’ = "*[System[EventID=4740] and EventData[Data[@Name='TargetUserName']='$Username']]"
}
$Events = Get-WinEvent @GweParams
$Events | foreach {$_.Computer + " " +$_.Properties[1].value + ' ' + $_.TimeCreated}
}

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

В статье не будет про серьезные вещи вроде Splunk и ELK (Elasticsearch + Logstash + Kibana). Сфокусируемся на простом и бесплатном.

Журналы и командная строка

До появления PowerShell можно было использовать такие утилиты cmd как find и findstr. Они вполне подходят для простой автоматизации. Например, когда мне понадобилось отлавливать ошибки в обмене 1С 7.7 я использовал в скриптах обмена простую команду:

findstr "Fail" *.log >> fail.txt

Она позволяла получить в файле fail.txt все ошибки обмена. Но если было нужно что-то большее, вроде получения информации о предшествующей ошибке, то приходилось создавать монструозные скрипты с циклами for или использовать сторонние утилиты. По счастью, с появлением PowerShell эти проблемы ушли в прошлое.

Основным инструментом для работы с текстовыми журналами является командлет Get-Content, предназначенный для отображения содержимого текстового файла. Например, для вывода журнала сервиса WSUS в консоль можно использовать команду:

Get-Content -Path 'C:\Program Files\Update Services\LogFiles\SoftwareDistribution.log' | Out-Host -Paging

Для вывода последних строк журнала существует параметр Tail, который в паре с параметром Wait позволит смотреть за журналом в режиме онлайн. Посмотрим, как идет обновление системы командой:

>Get-Content -Path "C:\Windows\WindowsUpdate.log" -Tail 5 -Wait


Смотрим за ходом обновления Windows.

Если же нам нужно отловить в журналах определенные события, то поможет командлет Select-String, который позволяет отобразить только строки, подходящие под маску поиска. Посмотрим на последние блокировки Windows Firewall:

Select-String -Path "C:\Windows\System32\LogFiles\Firewall\pfirewall.log" -Pattern 'Drop' | Select-Object -Last 20 | Format-Table Line


Смотрим, кто пытается пролезть на наш дедик.

При необходимости посмотреть в журнале строки перед и после нужной, можно использовать параметр Context. Например, для вывода трех строк после и трех строк перед ошибкой можно использовать команду:

Select-String 'C:\Windows\Cluster\Reports\Cluster.log' -Pattern ' err ' ‑Context 3

Оба полезных командлета можно объединить. Например, для вывода строк с 45 по 75 из netlogon.log поможет команда:

Get-Content 'C:\Windows\debug\netlogon.log' | Select-Object -First 30 -Skip 45

Журналы системы ведутся в формате .evtx, и для работы с ними существуют отдельные командлеты. Для работы с классическими журналами («Приложение», «Система», и т.д.) используется Get-Eventlog. Этот командлет удобен, но не позволяет работать с остальными журналами приложений и служб. Для работы с любыми журналами, включая классические, существует более универсальный вариант ― Get-WinEvent. Остановимся на нем подробнее.

Для получения списка доступных системных журналов можно выполнить следующую команду:

Get-WinEvent -ListLog *


Вывод доступных журналов и информации о них.

Для просмотра какого-то конкретного журнала нужно лишь добавить его имя. Для примера получим последние 20 записей из журнала System командой:

Get-WinEvent -LogName 'System' -MaxEvents 20


Последние записи в журнале System.

Для получения определенных событий удобнее всего использовать хэш-таблицы. Подробнее о работе с хэш-таблицами в PowerShell можно прочитать в материале Technet about_Hash_Tables.

Для примера получим все события из журнала System с кодом события 1 и 6013.

Get-WinEvent -FilterHashTable @{LogName='System';ID='1','6013'}

В случае если надо получить события определенного типа ― предупреждения или ошибки, ― нужно использовать фильтр по важности (Level). Возможны следующие значения:

  • 0 ― всегда записывать;
  • 1 ― критический;
  • 2 ― ошибка;
  • 3 ― предупреждение;
  • 4 ― информация;
  • 5 ― подробный (Verbose).

Собрать хэш-таблицу с несколькими значениями важности одной командой так просто не получится. Если мы хотим получить ошибки и предупреждения из системного журнала, можно воспользоваться дополнительной фильтрацией при помощи Where-Object:

Get-WinEvent -FilterHashtable @{LogName='system'} | Where-Object -FilterScript {($_.Level -eq 2) -or ($_.Level -eq 3)}


Ошибки и предупреждения журнала System.

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

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

  • Get-EventLog.
  • Get-WinEvent.

PowerShell ― механизм удобный и гибкий, но требует знания синтаксиса и для сложных условий и обработки большого количества файлов потребует написания полноценных скриптов. Но есть вариант обойтись всего-лишь SQL-запросами при помощи замечательного Log Parser.

Работаем с журналами посредством запросов SQL

Утилита Log Parser появилась на свет в начале «нулевых» и с тех пор успела обзавестись официальной графической оболочкой. Тем не менее актуальности своей она не потеряла и до сих пор остается для меня одним из самых любимых инструментов для анализа логов. Загрузить утилиту можно в Центре Загрузок Microsoft, графический интерфейс к ней ― в галерее Technet. О графическом интерфейсе чуть позже, начнем с самой утилиты.

О возможностях Log Parser уже рассказывалось в материале «LogParser — привычный взгляд на непривычные вещи», поэтому я начну с конкретных примеров.

Для начала разберемся с текстовыми файлами ― например, получим список подключений по RDP, заблокированных нашим фаерволом. Для получения такой информации вполне подойдет следующий SQL-запрос:

SELECT 
 extract_token(text, 0, ' ') as date, 
 extract_token(text, 1, ' ') as time,
 extract_token(text, 2, ' ') as action, 
 extract_token(text, 4, ' ') as src-ip,  
 extract_token(text, 7, ' ') as port 
FROM 'C:\Windows\System32\LogFiles\Firewall\pfirewall.log' 
WHERE action='DROP' AND port='3389'
ORDER BY date,time DESC

Посмотрим на результат:


Смотрим журнал Windows Firewall.

Разумеется, с полученной таблицей можно делать все что угодно ― сортировать, группировать. Насколько хватит фантазии и знания SQL.

Log Parser также прекрасно работает с множеством других источников. Например, посмотрим откуда пользователи подключались к нашему серверу по RDP.

Работать будем с журналом TerminalServices-LocalSessionManager\Operational.

Не со всеми журналами Log Parser работает просто так ― к некоторым он не может получить доступ. В нашем случае просто скопируем журнал из %SystemRoot%\System32\Winevt\Logs\Microsoft-Windows-TerminalServices-LocalSessionManager%4Operational.evtx в %temp%\test.evtx.

Данные будем получать таким запросом:

SELECT
 timegenerated as Date, 
 extract_token(strings, 0, '|') as user,
 extract_token(strings, 2, '|') as sourceip 
FROM '%temp%\test.evtx'
WHERE EventID = 21
ORDER BY Date DESC


Смотрим, кто и когда подключался к нашему серверу терминалов.

Особенно удобно использовать Log Parser для работы с большим количеством файлов журналов ― например, в IIS или Exchange. Благодаря возможностям SQL можно получать самую разную аналитическую информацию, вплоть до статистики версий IOS и Android, которые подключаются к вашему серверу.

В качестве примера посмотрим статистику количества писем по дням таким запросом:

SELECT
 TO_LOCALTIME(TO_TIMESTAMP(EXTRACT_PREFIX(TO_STRING([#Fields: date-time]),0,'T'), 'yyyy-MM-dd')) AS Date,
 COUNT(*) AS [Daily Email Traffic] 
FROM 'C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\MessageTracking\*.LOG'
WHERE (event-id='RECEIVE') GROUP BY Date ORDER BY Date ASC

Если в системе установлены Office Web Components, загрузить которые можно в Центре загрузки Microsoft, то на выходе можно получить красивую диаграмму.


Выполняем запрос и открываем получившуюся картинку…


Любуемся результатом.

Следует отметить, что после установки Log Parser в системе регистрируется COM-компонент MSUtil.LogQuery. Он позволяет делать запросы к движку утилиты не только через вызов LogParser.exe, но и при помощи любого другого привычного языка. В качестве примера приведу простой скрипт PowerShell, который выведет 20 наиболее объемных файлов на диске С.

$LogQuery = New-Object -ComObject "MSUtil.LogQuery"
$InputFormat = New-Object -ComObject "MSUtil.LogQuery.FileSystemInputFormat"
$InputFormat.Recurse = -1
$OutputFormat = New-Object -ComObject "MSUtil.LogQuery.CSVOutputFormat"
$SQLQuery = "SELECT Top 20 Path, Size INTO '%temp%\output.csv' FROM 'C:\*.*' ORDER BY Size DESC"
$LogQuery.ExecuteBatch($SQLQuery, $InputFormat, $OutputFormat)
$CSV = Import-Csv  $env:TEMP'\output.csv'
$CSV | fl 
Remove-Item $env:TEMP'\output.csv'
$LogQuery=$null
$InputFormat=$null
$OutputFormat=$null

Ознакомиться с документацией о работе компонента можно в материале Log Parser COM API Overview на портале SystemManager.ru.

Благодаря этой возможности для облегчения работы существует несколько утилит, представляющих из себя графическую оболочку для Log Parser. Платные рассматривать не буду, а вот бесплатную Log Parser Studio покажу.


Интерфейс Log Parser Studio.

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

Вторая особенность ― возможность экспорта запроса в скрипт PowerShell.

В качестве примера посмотрим, как будет работать выборка ящиков, отправляющих больше всего писем:


Выборка наиболее активных ящиков.

При этом можно выбрать куда больше типов журналов. Например, в «чистом» Log Parser существуют ограничения по типам входных данных, и отдельного типа для Exchange нет ― нужно самостоятельно вводить описания полей и пропуск заголовков. В Log Parser Studio нужные форматы уже готовы к использованию.

Помимо Log Parser, с логами можно работать и при помощи возможностей MS Excel, которые упоминались в материале «Excel вместо PowerShell». Но максимального удобства можно достичь, подготавливая первичный материал при помощи Log Parser с последующей обработкой его через Power Query в Excel.

Приходилось ли вам использовать какие-либо инструменты для перелопачивания логов? Поделитесь в комментариях.

prosmotr-zhurnalov-sobyitiyДоброго дня!

Даже если вы за компьютером ничего не делаете — в процессе работы ОС Windows записывает часть данных в спец. документы (их еще называют логами или системными журналами). Как правило, под-запись попадают различные события, например, включение/выключение ПК, возникновение ошибок, обновления и т.д. 👀

Разумеется, в некоторых случаях эти записи могут быть очень полезными. Например, при поиске причин возникновения ошибок, синих экранов, внезапных перезагрузок и т.д. Отмечу, что если у вас установлена не официальная версия Windows — может так стать, что журналы у вас отключены… 😢

В общем, в этой заметке покажу азы работы с журналами событий в Windows (например, как найти ошибку и ее код, что несомненно поможет в диагностике).

Итак…

*

Работа с журналом событий (для начинающих)

Как его открыть

Вариант 1

Этот вариант универсальный и работает во всех современных версиях ОС Windows.

  1. нажать сочетание кнопок Win+R — должно появиться окно «Выполнить»;
  2. ввести команду eventvwr и нажать OK (примечание: также можно воспользоваться диспетчером задач (Ctrl+Shift+Esc) — нажать по меню «Файл/новая задача» и ввести ту же команду eventvwr);

    eventvwr — команда для вызова журнала событий

    eventvwr — команда для вызова журнала событий

  3. после этого у вас должно появиться окно «Просмотр событий» — обратите внимание на левую колонку, в ней как раз и содержатся всевозможные журналы Windows…

    Просмотр событий

    Просмотр событий

Вариант 2

  1. сначала необходимо 👉 открыть панель управления и перейти в раздел «Система и безопасность»;

    Система и безопасность

    Система и безопасность

  2. далее необходимо перейти в раздел «Администрирование»;

    Администрирование

    Администрирование

  3. после кликнуть мышкой по ярлыку «Просмотр событий».

    Просмотр событий — Администрирование

    Просмотр событий — Администрирование

Вариант 3

Актуально для пользователей Windows 10/11.

1) Нажать по значку с «лупой» на панели задач, в поисковую строку написать «событий» и в результатах поиска ОС Windows предоставит вам ссылку на журнал (см. скрин ниже). 👇

Windows 10 — события

Windows 10 — события

2) Еще один способ: нажать сочетание Win+X — появится меню со ссылками на основные инструменты, среди которых будет и журнал событий.

Win+X — вызов меню

Win+X — вызов меню

Журналы Windows

Журналы Windows

Журналы Windows

Наибольшую пользу (по крайней мере, для начинающих пользователей) представляет раздел «Журналы Windows» (выделен на скрине выше). Довольно часто при различных неполадках приходится изучать как раз его.

В нем есть 5 вкладок, из которых 3 основных: «Приложение», «Безопасность», «Система». Именно о них пару слов подробнее:

  1. «Приложение» — здесь собираются все ошибки (и предупреждения), которые возникают из-за работы программ. Вкладка будет полезна в тех случаях, когда у вас какое-нибудь приложение нестабильно работает;
  2. «Система» — в этой вкладке содержатся события, которые сгенерированы различными компонентами ОС Windows (модули, драйверы и пр.);
  3. «Безопасность» — события, относящиеся к безопасности системы (входы в учетную запись, раздача прав доступа папкам и файлам, и т.д.).

Как найти и просмотреть ошибки (в т.ч. критические)

Надо сказать, что Windows записывает в журналы очень много различной информации (вы в этом можете убедиться, открыв любой из них). Среди стольких записей найти нужную ошибку не так просто. И именно для этого здесь предусмотрены спец. фильтры. Ниже покажу простой пример их использования.

И так, сначала необходимо выбрать нужный журнал (например «Система»), далее кликнуть в правой колонке по инструменту «Фильтр текущего журнала».

Система — фильтр текущего журнала

Система — фильтр текущего журнала / Кликабельно

После указать дату, уровень события (например, ошибки), и нажать OK.

Критические ошибки

Критические ошибки

В результате вы увидите отфильтрованный список событий. Ориентируясь по дате и времени вы можете найти именно ту ошибку, которая вас интересует.

Например, на своем подопытном компьютере я нашел ошибку из-за которой он перезагрузился (благодаря коду ошибки и ее подробному описанию — можно найти решение на сайте Microsoft).

Представлены все ошибки по дате и времени их возникновения

Представлены все ошибки по дате и времени их возникновения / Кликабельно

Т.е. как видите из примера — использование журнала событий очень даже помогает в решении самых разных проблем с ПК.

Можно ли отключить журналы событий

Можно! Только нужно ли? (хотя не могу не отметить, что многие считают, что на этом можно сэкономить толику дискового пространства, плюс система более отзывчива и меньше нагрузка на жесткий диск) 

*

Для отключения журналов событий нужно:

  1. открыть «службы» (для этого нажмите Win+R, введите команду services.msc и нажмите OK);

    Открываем службы - services.msc (универсальный способ)

    Открываем службы — services.msc (универсальный способ)

  2. далее нужно найти службу «Журнал событий Windows» и открыть ее;

    Службы — журналы событий

    Службы — журналы событий

  3. после перевести тип запуска в режим «отключена» и нажать кнопку «остановить». Затем сохранить настройки и перезагрузить компьютер.

    Отключена — остановить

    Отключена — остановить

*

На этом пока всё, удачи!

Первая публикация: 23.03.2019

Корректировка: 14.08.2021

donate

dzen-ya

Содержание

  • Просмотр событий в Виндовс 10
    • Способ 1: «Панель управления»
    • Способ 2: Окно «Выполнить»
    • Способ 3: Поиск по системе
    • Создание ярлыка для быстрого запуска
  • Заключение
  • Вопросы и ответы

Как посмотреть журнал событий в Windows 10

«Просмотр событий» — один из множества стандартных инструментов Виндовс, предоставляющий возможность просмотра всех событий, происходящих в среде операционной системы. В числе таковых всевозможные неполадки, ошибки, сбои и сообщения, связанные как непосредственно с ОС и ее компонентами, так и сторонними приложениями. О том, как в десятой версии Windows открыть журнал событий с целью его дальнейшего использования для изучения и устранения возможных проблем, пойдет речь в нашей сегодняшней статье.

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

Способ 1: «Панель управления»

Как понятно из названия, «Панель» предназначена для того, чтобы управлять операционной системой и входящими в ее состав компонентами, а также быстрого вызова и настройки стандартных инструментов и средств. Неудивительно, что с помощью этого раздела ОС можно вызвать в том числе и журнал событий.

Читайте также: Как открыть «Панель управления» в Виндовс 10

  1. Любым удобным способом откройте «Панель управления». Например, нажмите на клавиатуре «WIN+R», введите в строку открывшегося окна выполнить команду «control» без кавычек, нажмите «ОК» или «ENTER» для запуска.
  2. Ввести в окно Выполнить команду для быстрого вызова Панели управления на компьютере с ОС Windows 10

  3. Найдите раздел «Администрирование» и перейдите в него, кликнув левой кнопкой мышки (ЛКМ) по соответствующему наименованию. Если потребуется, предварительно измените режим просмотра «Панели» на «Мелкие значки».
  4. Перейти к разделу Администрирования Панели управления в Windows 10

  5. Отыщите в открывшейся директории приложение с наименованием «Просмотр событий» и запустите его двойным нажатием ЛКМ.
  6. Открыть Просмотр событий на компьютере с ОС Windows 10

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

Способ 2: Окно «Выполнить»

И без того простой и быстрый в своем выполнении вариант запуска «Просмотра событий», который нами был описан выше, при желании можно немного сократить и ускорить.

  1. Вызовите окно «Выполнить», нажав на клавиатуре клавиши «WIN+R».
  2. Окно Выполнить открыто и готово ко вводу команды в Windows 10

  3. Введите команду «eventvwr.msc» без кавычек и нажмите «ENTER» или «ОК».
  4. Ввод специальной команды в окно Выполнить для быстрого перехода к Просмотру событий в Windows 10

  5. Журнал событий будет открыт незамедлительно.
  6. Просмотр журнала событий открыт на компьютере с ОС Windows 10

Способ 3: Поиск по системе

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

  1. Нажмите по значку поиска на панели задач левой кнопкой мышки или воспользуйтесь клавишами «WIN+S».
  2. Варианты открытия окна поиска на компьютере с ОС Windows 10

  3. Начните вводить в поисковую строку запрос «Просмотр событий» и, когда увидите в перечне результатов соответствующее приложение, кликните по нему ЛКМ для запуска.
  4. Ввод названия и запуск раздела Просмотр событий в ОС Windows 10

  5. Это откроет журнал событий Windows.
  6. Просмотр журнала событий открыт на компьютере с ОС Windows 10

    Читайте также: Как сделать панель задач в Виндовс 10 прозрачной

Создание ярлыка для быстрого запуска

Если вы планируете часто или хотя бы время от времени обращаться к «Просмотру событий», рекомендуем создать на рабочем столе его ярлык – это поможет ощутимо ускорить запуск необходимого компонента ОС.

  1. Повторите шаги 1-2, описанные в «Способе 1» данной статьи.
  2. Открыть Просмотр событий на компьютере с ОС Windows 10

  3. Отыскав в списке стандартных приложений «Просмотр событий», кликните по нему правой кнопкой мышки (ПКМ). В контекстном меню выберите поочередно пункты «Отправить»«Рабочий стол (создать ярлык)».
  4. Создать ярлык Просмотра событий на рабочем столе Windows 10

  5. Сразу же после выполнения этих простых действий на рабочем столе Windows 10 появится ярлык под названием «Просмотр событий», который и можно использовать для открытия соответствующего раздела операционной системы.
  6. Ярлык Просмотра событий успешно создан на рабочем столе Windows 10

    Читайте также: Как создать ярлык «Мой компьютер» на рабочем столе Виндовс 10

Заключение

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

Еще статьи по данной теме:

Помогла ли Вам статья?

  • Поиск ключа продукта для windows 10
  • Поиск и устранение неисправностей windows 10 что это
  • Поиск папок на компьютере windows 10
  • Поиск ключа восстановления bitlocker в windows 10
  • Поиск и устранение неисправностей windows 10 при запуске компьютера