Powershell просмотр логов windows

Обновлено: 05.07.2024

PowerShell регистрирует внутренние операции из подсистемы, поставщиков и командлетов в журнале событий Windows.

Подробное описание

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

Windows PowerShell версии 3,0, 4,0, 5,0 и 5,1 включают командлеты EventLog для Windows журналов событий. В этих версиях для вывода списка типов командлетов EventLog : Get-Command -Noun EventLog . Дополнительные сведения см. в документации по командлетам и about_EventLogs для вашей версии Windows PowerShell.

Просмотр записей журнала событий PowerShell на Windows

журналы PowerShell можно просмотреть с помощью Windows Просмотр событий. Журнал событий находится в группе Журналы приложений и служб и называется PowerShellCore . Связанным поставщиком ETW GUID является .

Если включено ведение журнала блокировки сценариев, PowerShell регистрирует в журнале следующие события PowerShellCore/Operational :

Поле Значение
EventId 4104 / 0x1008
Channel Operational
Level Verbose
Код операции Create
Задача CommandStart
Ключевое слово Runspace

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

Отмена регистрации поставщика событий PowerShell на Windows

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

После обновления PowerShell выполните команду, $PSHOME\RegisterManifest.ps1 чтобы зарегистрировать обновленный поставщик событий.

Включение ведения журнала блоков сценариев

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

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

Ведение журнала блока скрипта можно включить с помощью групповая политика или параметра реестра.

Использование групповой политики

Чтобы включить автоматическую транскрипцию, включите эту Turn on PowerShell Script Block Logging функцию в групповая политика с помощью Administrative Templates -> Windows Components -> Windows PowerShell .

Использование реестра

Выполните следующую функцию:

Ведение журнала защищенных событий

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

Открытый ключ может быть общим и не конфиденциальным. Любое содержимое, зашифрованное с помощью этого открытого ключа, может быть расшифровано только закрытым ключом. Дополнительные сведения о шифровании с открытым ключом см. в статье о шифровании с открытым ключом Википедии.

Чтобы включить политику защищенного ведения журнала событий, разверните открытый ключ для всех компьютеров, которые содержат данные журнала событий для защиты. Соответствующий закрытый ключ используется для последующей обработки журналов событий в более безопасном расположении, например в центральном сборщике журналов событий или SIEM агрегаторе. Вы можете настроить SIEM в Azure. Дополнительные сведения см. в разделе Универсальная интеграция SIEM.

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

Чтобы включить ведение журнала защищенных событий, включите Enable Protected Event Logging функцию в групповая политика с помощью Administrative Templates -> Windows Components -> Event Logging . Для этого параметра требуется сертификат шифрования, который можно указать в одной из следующих форм:

  • Содержимое сертификата X. 509 в кодировке Base-64 (например, предложено Export параметром в диспетчере сертификатов).
  • Отпечаток сертификата, который можно найти в хранилище сертификатов локального компьютера (может быть развернут инфраструктурой PKI).
  • Полный путь к сертификату (может быть локальным или удаленным общим ресурсом).
  • Путь к каталогу, содержащему сертификат или сертификаты (может быть локальным или удаленным общим ресурсом).
  • Имя субъекта сертификата, который можно найти в хранилище сертификатов локального компьютера (может быть развернуто инфраструктурой PKI).

Итоговый сертификат должен иметь Document Encryption в качестве расширенного использования ключа ( 1.3.6.1.4.1.311.80.1 ), а Data Encipherment также значение или Key Encipherment Использование ключей.

Следующий сценарий будет получен и расшифрован, предполагая, что у вас есть закрытый ключ:

Windows PowerShell создает Windows журнал событий с именем «Windows PowerShell» для записи событий Windows PowerShell. Этот журнал можно просмотреть в Просмотр событий или с помощью командлетов, получающих события, например Get-EventLog командлет. по умолчанию события подсистемы и поставщика Windows PowerShell записываются в журнал событий, но можно использовать переменные предпочтений журнала событий для настройки журнала событий. например, можно добавить события о командах Windows PowerShell.

Подробное описание

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

Windows PowerShell журнал событий находится в группе журналы приложений и служб. журнал Windows PowerShell является классическим журналом событий, который не использует технологию Windows событий. Чтобы просмотреть журнал, используйте командлеты, предназначенные для классических журналов событий, например Get-EventLog .

просмотр журнала событий Windows PowerShell

журнал Windows PowerShell событий можно просмотреть в Просмотр событий или с помощью Get-EventLog Get-WmiObject командлетов и. чтобы просмотреть содержимое журнала Windows PowerShell, введите:

Чтобы проверить события и их свойства, используйте Sort-Object командлет, Group-Object командлет и командлеты, которые содержат Format команду ( Format командлеты).

Например, чтобы просмотреть события в журнале, сгруппированные по ИДЕНТИФИКАТОРу события, введите:

Чтобы просмотреть все классические журналы событий, введите:

кроме того, с помощью Get-WmiObject командлета можно использовать классы инструментарий управления Windows (WMI) (WMI), связанные с событиями, для просмотра журнала событий. Например, чтобы просмотреть все свойства файла журнала событий, введите:

Чтобы найти классы WMI, связанные с событиями Win32, введите:

Для получения дополнительных сведений введите «Get-Help Get-EventLog» и «Get-Help Get-WmiObject».

выбор событий для журнала событий Windows PowerShell

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

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

В следующей таблице перечислены переменные предпочтений журнала событий.

Переменная Описание
$LogEngineLifeCycleEvent Заносит в журнал начало и конец PowerShell
$LogEngineHealthEvent Журналы ошибок программы PowerShell
$LogProviderLifeCycleEvent Записывает в журнал начало и конец поставщиков PowerShell
$LogProviderHealthEvent Регистрирует ошибки поставщика PowerShell
$LogCommandLifeCycleEvent Записывает в журнал запуск и завершение команд
$LogCommandHealthEvent Регистрирует ошибки команды

(дополнительные сведения о поставщиках Windows PowerShell см. в разделе about_Providers.)

По умолчанию включены только следующие типы событий:

  • $LogEngineLifeCycleEvent
  • $LogEngineHealthEvent
  • $LogProviderLifeCycleEvent
  • $LogProviderHealthEvent

Чтобы включить тип событий, задайте для него переменную предпочтение $true. Например, чтобы включить события жизненного цикла команды, введите:

Чтобы отключить тип события, задайте для него переменную предпочтение $false. Например, чтобы отключить события жизненного цикла команды, введите:

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

параметры переменных применяются только к текущему сеансу Windows PowerShell. чтобы применить их ко всем Windows PowerShellным сеансам, добавьте их в профиль Windows PowerShell.

События модуля ведения журнала

начиная с Windows PowerShell 3,0, можно записывать события выполнения для командлетов и функций в Windows PowerShell модулях и оснастках, установив для свойства LogPipelineExecutionDetails модулей и оснасток значение TRUE. в Windows PowerShell 2,0 эта функция доступна только для оснасток.

если свойство LogPipelineExecutionDetails имеет значение TRUE ( $true ), Windows PowerShell записывает события выполнения командлета и функции в сеансе в журнал Windows PowerShell в Просмотр событий. Параметр действует только в текущем сеансе.

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

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

Чтобы отключить ведение журнала, используйте ту же последовательность команд, чтобы задать для свойства значение FALSE ( $false ).

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

Если параметр "включить ведение журнала модуля" установлен для модуля, значение свойства LogPipelineExecutionDetails модуля равно TRUE во всех сеансах, и его нельзя изменить.

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

Политика конфигурации пользователя имеет приоритет над политикой конфигурации компьютера, и обе политики имеют предпочтение по отношению к значению свойства LogPipelineExecutionDetails модулей и оснасток.

Дополнительные сведения об этом параметре групповая политика см. в разделе about_Group_Policy_Settings.

Безопасность и аудит

журнал событий Windows PowerShell предназначен для указания активности и предоставления оперативных сведений для устранения неполадок.

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

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

Примечания

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

Блог системного администратора Windows/Linux/FreeBSD

Get-EventLog получает список журналов или событий в заданном журнале на локальном или удалённом компьютере. Указывая нужные параметры для Get-EventLog, можно с лёгкостью искать искомые события по значениям их свойств. Get-EventLog возвращает события, соответствующие всем указанным значениям свойств. Командлет Get-EventLog работает только со стандартными классическими журналами событий Windows. Если нужно искать по остальным событиям из журналов Windows, используйте командлет Get-WinEvent.

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

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

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

После выполнения команды выше на экран будет выведено слишком много данных. Используйте параметр -Newest и верните только нужное количество последних событий, записанных в журнале. Например, эта команда извлекает последние 10 событий, записанные в журнал событий системы:

Вот данные, которые вы получите:

Чтобы получить более подробную информацию, просто добавьте командлет Format-List:


Полученная информация будет уже такой:

Вы также можете передавать данные через командлет Where-Object для возврата подмножества событий. Например, эта команда извлекает только те события в журнале событий Windows PowerShell, у которых значение EventID равно 403:

Вот небольшая команда, которая извлекает все события в журнале событий Windows PowerShell, а затем использует командлет Group-Object для группировки этих событий с помощью EventID. Другими словами, команда подсчитывает общее количество событий для каждого идентификатора (например, произошло два события с EventID 300, произошло шесть событий с событием EventID 400 и т. Д.). Затем эти данные передаются через командлет Sort-Object для предоставления результатов, отсортированных по EventID. Вот команда:

Примеры использования Get-Eventlog:

Поиск событий по ID после 3 июля:

Поиск в логах нескольких серверов:

Поиск событий, статус которых "Ошибка":

Логи - это системные события, который происходят в любой операционной системе. С помощью логов можно легко отследить кто, что и когда делал. Читать логи могут не только системные администраторы, поэтому в данной инструкции рассмотрим, как смотреть логи ОС windows.

Ищете сервер с Windows? Выбирайте наши Windows VDS

Просмотр событий для проверки логов.

После нажатия комбинации “ Win+R и введите eventvwr.msc ” в любой системе Виндовс вы попадаете в просмотр событий. У вас откроется окно, где нужно развернуть Журналы Windows. В данном окне можно просмотреть все программы, которые открывались на ОС и, если была допущена ошибка, она также отобразится.

windows_logs

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

windows_logs2

В пункте Установка можно посмотреть логи ОС Виндовс, например, программы и обновления системы.

windows_logs3

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

windows_logs4

Логи windows - для более специфических служб. Это могут быть DHCP или DNS.

windows_logs5

Фильтрация событий.

С помощью Фильтра текущего журнала (раздел Действия) можно отфильтровать информацию, которую вы хотите просмотреть.

windows_logs6

Обязательно нужно указать уровень Событий:

  • Критическое
  • Ошибка
  • Предупреждение
  • Сведения
  • Подробности

Для сужения поиска можно отфильтровать источник событий и код.

windows_logs7

Просмотр PowerShell логов.

Открываем PowerShell и вставляем следующую команду Get-EventLog -Logname 'System'

В результате вы получите логи Системы

windows_logs8

Для журнала Приложения используйте эту команду Get-EventLog -Logname 'Application

windows_logs9

Также обязательно ознакомьтесь с перечнем аббревиатур:

Get-EventLog –LogName ‘System’ | Format-Table EntryType, TimeWritten, Source, EventID, Category, Message

windows_logs10

Если нужна подробная информация, замените Format-Table на Format-List на

Get-EventLog –LogName ‘System’ | Format-List EntryType, TimeWritten, Source, EventID, Category, Message

Формат информации станет более легким

windows_logs11

Get-EventLog –Logname ‘System’ –Newest 20

vyivesti-sobyitiya

Если нужен список, позднее даты 1 января 2018 года, команда

Get-EventLog –LogName ‘System’ –After ‘1 января 2018’

Надеемся, данная статья поможет вам быстро и просто читать логи ОС Windows.

Желаем приятной работы!

Как установить свой образ на ВДС сервер с Виндовс, читайте в предыдущей статье.

Как посмотреть логи windows

Всем привет, тема стать как посмотреть логи windows. Что такое логи думаю знают все, но если вдруг вы новичок, то логи это системные события происходящие в операционной системе как Windows так и Linux, которые помогают отследить, что, где и когда происходило и кто это сделал. Любой системный администратор обязан уметь читать логи windows.

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

Как открыть в просмотр событий

Зайти в оснастку Просмотр событий можно очень просто, подойдет для любой версии Windows. Нажимаете волшебные кнопки

Откроется у вас окно просмотр событий windows в котором вам нужно развернуть пункт Журналы Windows. Пробежимся по каждому из журналов.

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

логи windows-01

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

логи windows-02

Пункт Установка, в него записывает Windows логи о том что и когда устанавливалось Например программы или обновления.

логи windows-03

логи windows-04

Так же есть логи windows для более специфических служб, например DHCP или DNS. Просмотр событий сечет все :).

логи windows-05

Фильтрация в просмотре событий

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

Фильтрация в просмотре событий

Вас попросят указать уровень событий:

  • Критическое
  • Ошибка
  • Предупреждение
  • Сведения
  • Подробности

Фильтрация в просмотре событий-2

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

Посмотреть логи windows PowerShell

Было бы странно если бы PowerShell не умел этого делать, для отображения log файлов открываем PowerShell и вводим вот такую команду

В итоге вы получите список логов журнала Система

Тоже самое можно делать и для других журналов например Приложения

небольшой список абревиатур

Get-EventLog –LogName ‘System’ | Format-Table EntryType, TimeWritten, Source, EventID, Category, Message

вывести события

Если нужно вывести более подробно, то заменим Format-Table на Format-List

Get-EventLog –LogName ‘System’ | Format-List EntryType, TimeWritten, Source, EventID, Category, Message

Как видите формат уже более читабельный.

Format-List

Дополнительные продукты

Так же вы можете автоматизировать сбор событий, через такие инструменты как:

  • Комплекс мониторинга Zabbix
  • Через пересылку событий средствами Windows на сервер коллектор
  • Через комплекс аудита Netwrix
  • Если у вас есть SCOM, то он может агрегировать любые логи Windows платформ
  • Любые DLP системы

Удаленный просмотр логов

Не так давно в появившейся операционной системе Windows Server 2019, появился компонент удаленного администрирования Windows Admin Center. Он позволяет проводить дистанционное управление компьютером или сервером, подробнее он нем я уже рассказывал. Тут я хочу показать, что поставив его себе на рабочую станцию вы можете подключаться из браузера к другим компьютерам и легко просматривать их журналы событий, тем самым изучая логи Windows. В моем примере будет сервер SVT2019S01, находим его в списке доступных и подключаемся (Напомню мы так производили удаленную настройку сети в Windows).

Удаленное подключение через Windows Admin Center

Далее вы выбираете вкладку "События", выбираете нужный журнал, в моем примере я хочу посмотреть все логи по системе. С моей точки зрения тут все просматривать куда удобнее, чем из просмотра событий. Плюсом будет, то что вы это можете сделать из любого телефона или планшета. В правом углу есть удобная форма поиска

Просмотр логов Windows через Windows Admin Center

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

Фильтрация логов в Windows Admin Center

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

Настройка фильтрации логов Windows через Windows Admin Center

Вот пример фильтрации по событию 19.

Удаленный просмотр логов Windows

Очень удобно экспортировать полностью журнал в формат evxt, который потом легко открыть через журнал событий. Так, что Windows Admin Center, это мощное средство по просмотру логов.

Подключиться к другому компьютеру

Указываем имя другого компьютера, в моем примере это будет SVT2019S01

Указание имени удаленного компьютера для просмотра логов

Читайте также: