Может кто-нибудь объяснить мне, как получить доступ к произвольным системным журналам в eventlog
служебные файлы?
Теперь ковыряюсь в WMI (wmic.exe) и пытаюсь выполнить следующие команды:
Для системных служб, таких как приложения, этот подход работает нормально:
WMIC NTEVENT WHERE "LogFile = 'application'"
А другой файл журнала со следующим синтаксисом не работает.
WMIC NTEVENT WHERE "LogFile = 'Microsoft-Windows-CAPI2 / Operational'"
приводит к:
No Instance(s) Available.
Может ли кто-нибудь поделиться рабочей командой для выполнения работы или каким-либо руководством по этому поводу?
Я всегда использую PowerShell для таких вещей; существует множество командлетов, которые помогают извлекать эти данные полезным способом, и есть множество сценариев в сети, которые могут предоставить вам все, что вам может понадобиться.
Заметка: Я тестировал их на Windows 8 и Server 2012, и они работают нормально. Вы не указали ОС. Вам также потребуется запустить Powershell от имени администратора.
Самый простой способ - заглянуть в Просмотрщик событий (eventvwr.exe) и щелкните правой кнопкой мыши -> Свойства в журнале, который вы хотите проанализировать. Найти Путь к журналу, и вы можете запросить журнал так просто:
get-winevent -path <full_path_to_logfile.evtx>
В качестве примера вы можете попробовать этот, который должен существовать на вашем компьютере с Windows:
get-winevent -path C:\Windows\System32\winevt\Logs\Security.evtx
Get-winevent - это встроенный командлет, поэтому он у вас должен быть доступен. Вы можете использовать обычную логику PowerShell, чтобы вырезать только те части, которые вам нравятся, или передать их в файл, или множество других забавных вещей. Надеюсь это поможет!