Command prompt windows log

Вертим логи как хотим ― анализ журналов в системах Windows

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

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

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

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

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

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

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


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

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


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

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

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

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

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


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

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


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

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

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

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

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

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


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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

Читайте также:  Патч tcpip sys windows 10


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

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

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

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


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


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

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

Ознакомиться с документацией о работе компонента можно в материале 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.

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

Список команд Windows ( Windows CMD ) с описанием и примерами.

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

Способы запуска командной строки

Командная строка Windows может быть запущена как и любое другое стандартное приложение — через Главное меню Windows, с использованием диалога Выполнить (комбинации клавиш Win+R, Win+X), а также с использованием открытия Проводником ( по двойному щелчку ) ярлыка или исполняемого файла C:\WINDOWS\System32\cmd.exe . В результате запуска откроется окно командной строки с приглашением к вводу команд . Приложение cmd.exe часто называют командным процессором или интерпретатором команд, а его основное окно – консолью Windows. Команды консоли представляют собой строку символов, которая может содержать встроенные команды командного процессора (HELP, ECHO и т.п.), имена и пути исполняемых или командных файлов (C:\Windows\System32\ping.exe), а также дополнительные параметры, если они требуются для выполнения конкретной команды (ping.exe yandex.ru). Результаты выполнения команд отображаются в окне консоли Windows и нередко зависят от наличия достаточных прав у текущего пользователя. Для выполнения команд в контексте учетной записи Администратора в операционных системах Windows Vista — Windows 10 необходимо использовать режим Запуск от имени Администратора .

Ссылки на материалы по настройке командной строки и приемах работы с ней размещены в конце страницы.

Справочник по командам CMD Windows

Данная страница представляет собой самый полный документ в русскоязычном сегменте Интернет, содержащий список команд командной строки всех версий Windows. Наименования подавляющего большинства команд являются ссылками и ведут на страницы с подробным их описанием и примерами использования. В разных версиях ОС семейства Windows набор поддерживаемых команд, их параметры командной строки, синтаксис и отображение результатов выполнения могут различаться. Одна и та же утилита командной строки может присутствовать в стандартной поставке одной версии Windows, но отсутствовать в другой, или входить в состав дополнительных средств, как например, Resource Kit или Software Development Kit.

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

Список команд постоянно обновляется и включает в себя все новейшие команды, добавляемые в стандартную поставку при выходе новых версий или обновлений ОС Windows 10.

APPEND — позволяет программам открывать файлы данных из указанных папок так, как будто они находятся в текущей папке.

ARP — просмотр и изменение таблиц ARP (Address Resolution Protocol)

ASSOC — просмотр или изменение сопоставлений расширений файлов приложениям

AT — управление планировщиком задач

ATTRIB — изменение атрибутов файлов

Auditpol — управление политиками аудита.

BASH — командная оболочка BASH в подсистеме Windows для Linux (WSL).

Читайте также:  Не до конца загружается компьютер windows

BCDBOOT — копирование в системный раздел файлов загрузки и создание нового хранилища конфигурации загрузки (BCD)

BCDEDIT — редактирование хранилища данных конфигурации загрузки (BCD)

BOOTCFG — редактирование параметров загрузки в файле boot.ini

BOOTIM — вызов меню загрузки и восстановления (Выбор действия) Windows 10

BOOTREC — восстановление загрузочных записей и конфигурации загрузки Windows

BOOTSECT — редактирование загрузочных секторов для обеспечения загрузки NTLDR или BOOTMGR

BREAK — включить или выключить обработку комбинации клавиш CTRL+C в DOS

CACLS — редактирование списков управления доступом к файлам (ACL — Access Control List)

CALL — вызов из командного файла подпрограмм или других командных файлов

CD — смена каталога (Change Directory)

CHANGE — изменение настроек сервера терминалов. Контексты — LOGON, PORT, USER

CHGLOGON — изменение настроек сервера терминалов, аналогично CHANGE LOGON

CHGPORT — изменение настроек сервера терминалов, аналогично CHANGE PORT

CHGUSR — изменение настроек сервера терминалов, аналогично CHANGE USER

CHCP — просмотр или изменение текущей кодовой страницы

CHKDSK — проверка диска (Check Disk)

CheckNetIsolation — управление доступом приложений к интерфейсу замыкания на себя (localhost) в Windows 10

CHKNTFS — проверка признака ошибки файловой системы и управление проверкой диска при загрузке Windows

CHOICE — реализация пользовательского ввода в командном файле

CIPHER — отображение или изменение шифрования файлов на томах NTFS

CLEARMGR — управление очисткой дисков Windows

CLIP — перенаправление вывода утилит командной строки в буфер обмена Windows

CLS — очистка экрана в командной строке

CMD — запуск новой копии интерпретатора командной строки

CMDKEY — создание, отображение, удаление и сохранение имен пользователей и паролей

COLOR — изменение цвета текста и фона в окне CMD

COMMAND — запуск новой копии интерпретатора командной строки MS-DOS

COMP — сравнение содержимого файлов

COMPACT — управление сжатием и распаковкой файлов в разделах NTFS

CONVERT — преобразование файловой системы из FAT в NTFS

COPY — копирование файлов и каталогов

Cscript — сервер сценариев Windows с консольным интерфейсом

DATE — отображение или изменение даты

DEBUG — запуск отладчика DOS-Windows XP

DEL — удаление одного или нескольких файлов

DevCon — управление устройствами в командной строке

DIANTZ — тоже что и MAKECAB, создание архивов .cab.

DIR — отображение списка файлов и каталогов

DISKCOMP — сравнение содержимого двух гибких дисков

DISKCOPY — копирование содержимого одного гибкого диска на другой

DISKPART — управление разделами и дисками из командной строки

DISM — управление компонентами образрв WIM.

DISPDIAG — вывод дампов с диагностической информацией о графической подсистеме.

DJOIN — автономное присоединение компьютера к домену.

DOSKEY — редактирование и повторный вызов команд Windows, создание макросов DOSKey

DRIVERQUERY — отобразить информацию об установленных драйверах.

DxDiag — средство диагностики DirectX.

ECHO — вывод текста на экран консоли

EDIT — запуск текстового редактора

ENDLOCAL — конец локальных изменений переменных окружения в командном файле

ERASE — аналогично команде DEL — удаление файлов

ESENTUTL — обслуживание баз данных Extensible Storage Engine для Windows

EVENTCREATE — запись сообщения в журнал событий Windows

EXIT — выход из процедуры или командного файла

EXPAND — распаковка сжатых файлов CAB-файлов.

EXTRACT — извлечение содержимого, распаковка CAB-файлов в Windows (EXTRAC32)

FC — сравнение содержимого файлов

FIND — поиск строки символов в файле

FINDSTR — поиск строк в файлах с использованием регулярных выражений

FOR — организация циклической обработки результатов выполнения других команд, списков, и строк в текстовых файлах

FORFILES — выполнение указанной команды для каждого файла из заданной группы

FSUTIL — управление файловой системой

FTYPE — просмотр и изменение расширений файлов и сопоставленных им приложений

GETMAC — отображение физического адреса сетевого адаптера (MAC-адреса)

GOTO — команда безусловного перехода в командном файле

GPRESULT — отображение результирующей политики (RSoP)

GPUPDATE — обновление групповых политик.

HELP — вызов справки командной строки Windows

HOSTNAME — отображение имени компьютера

iCACLS — управление списками доступа (ACL)

IF — оператор условного выполнения команд в пакетном файле

IPCONFIG просмотр и управление конфигурацией протокола IP

LABEL — редактирование меток тома дисков

LOGMAN — управление монитором оценки производительности системы

LOGOFF — завершение сеанса пользователя

MAKECAB — создание сжатых файлов формата CAB

MBR2GPT — преобразование дисков MBR в GPT

MEM — вывод справки об использовании памяти в MS-DOS

MD — создание нового каталога

MKLINK — создание символической ссылки на файл или каталог

MODE — конфигурирование системных устройств в среде CMD

MORE — постраничный вывод в консоли

MOUNTVOL — управление точками монтирования томов

MOVE — перемещение файлов и каталогов

MOVEFILE — перемещение или удаление занятых файлов при следующей перезагрузке

MSG — отправка сообщений пользователям.

MSTSC — подключение к удаленному рабочему столу.

NBTSTAT — просмотр статистических данных NETBIOS через TCP/IP (NetBT)

NET — управление ресурсами локальной сети

NETCFG — отображение и изменение конфигурации компонентов сети

NETSH — командная сетевая оболочка (Network Shell)

NETSTAT — отображение статистики сетевых соединений

NSLOOKUP — просмотр данных DNS в командной строке

OPENFILES — управление открытыми по сети или локально файлами

PATH — отображение или изменение путей поиска исполняемых файлов

Читайте также:  Мультизагрузочный dvd диск windows

PATHPING — трассировка маршрута с возможностью оценки качества участков трассы

PAUSE — пауза при выполнении командного файла

PING утилита проверки доступности узла

PKGMGR — управление программными пакетами Windows

PNPUTIL — конфигурирование драйверов устройств PnP

POPD — возврат в каталог, ранее запомненный с помощью команды PUSHD

POWERCFG — настройка параметров системы электропитания Windows

PRINT — печать текстового файла

PROMPT — изменение строки приглашения в консоли

PUSHD — сохранить текущий путь каталога и перейти в указанный

PSR — записать действия пользователя в Windows 7/8/110 ( P roblem S teps R ecorder)

QPROCESS — отобразить состояние процессов

QUERY — опросить состояние процессов и сеансов пользователей

QUSER — отобразить информацию о сеансах пользователей

RASDIAL — управление сеансами удаленного доступа

RASPHONE — управление сеансами удаленного доступа

REAGENTC — адимнистрирование стреды восстановления Windows

RECOVER — восстановление файлов на поврежденном диске

REG — утилита командной строки для работы с реестром Windows

REGEDIT — импорт и экспорт данных реестра Windows

REGSVR32 — регистрация или отмена регистрации DLL

REGINI — управление доступом к разделам реестра

REM — комментарии в командных файлах

REPLACE — замена или добавление файлов в катологах

RESET — сброс сеанса удаленного рабочего стола (RDP сессии)

ROBOCOPY — утилита резервного копирования и синхронизации каталогов (Robust File and Folder Copy)

ROUTE — управление таблицей маршрутизации

RUNAS — запуск приложения от имени другого пользователя

RUNDLL32 — запуск DLL в качестве приложения

SC — управление службами Windows (Service Control)

SCHTASKS — управление планировщиком задач

SCLIST — отображение списка системных служб

SET — отображение и изменение переменных среды окружения Windows

SETLOCAL — установка локальных переменных в командном файле

SETX — утилита для создания системных переменных

SFC — проверка и восстановление системных файлов Windows

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

SHIFT сдвиг входных параметров для командного файла

SHUTDOWN — выключение или перезагрузка компьютера

SLEEP — задержка по времени в пакетном файле

SLMGR — управление лицензированием программного обеспечения Windows

SORT — сортировка строк в текстовом файле

START — запуск приложения или командного файла

STORDIAG — диагностика системы хранения данных в Windows 10

SUBST — назначение (отмена назначения) каталогу буквы диска

SxSTrace — диагностическое средство трассировки компонент системы

SYSTEMINFO — отображение информации о системе

TAKEOWN — изменение владельца файла или каталога

TAR — архивирование данных архиватором tar в Windows 10

TASKKILL — завершение процессов на локальной или удаленной системе.

TASKLIST — отображение списка выполняющихся приложений и служб Windows

TIME — отображение и установка системного времени

TIMEOUT — задержка в пакетных файлах

TITLE — изменение заголовка окна CMD.EXE

TRACERT — трассировка маршрута к удаленному узлу

TREE — отображение структуры каталога в графическом виде

TSCON — подключение к сессии удаленного рабочего стола (RDP).

TSDISCON — отключение сессии удаленного рабочего стола (RDP).

TSKILL — завершение процессов, адаптированное для среды сервера терминалов (RDP).

TYPE — вывод на экран содержимого текстового файла

TypePerf — вывод сведений о производительности на экран или в журнал

TZUTIL — управление часовыми поясами в среде Windows

VER — отображение версии операционной системы

VERIFY — управление режимом проверки записываемых файлов

VOL — вывод данных метки тома

VSSADMIN — администрирование службы теневого копирования томов.

W32TM — управление службой времени Windows

WAITFOR — организация обмена сигналами между компьютерами

WBADMIN — управление резервным копированием и восстановлением в Windows

WEVTUTIL — управление событиями в Windows

WHERE — определение места расположения файлов

WHOAMI — вывод имени текущего пользователя

WINDIFF — сравнение содержимого файлов

WinMgmt — обслуживание инструментария управления Windows (WMI)

WINRM — удаленное управление Windows из командной строки

WINRS — удаленная командная строка (Remote Shell)

WINSAT — средство проверки производительности Windows

WMIC — выполнение команды WMI в командной строке

WSCollect — получить CAB-файл с копиями журналов Windows 10 на рабочем столе

Wscript — сервер сценариев Windows с графическим интерфейсом

WSL — выполнение команд Linux и конфигурирование параметров подсистемы Windows для Linux (WSL) в Windows 10

WSLconfig — конфигурирование параметров подсистемы Windows для Linux (WSL) в Windows 10

XCOPY — копирование файлов и папок

Прочие материалы по работе с командной строкой Windows:

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

Работа с командной строкой Windows — Основные приемы, используемые при работе в командной строке Windows.

Командные файлы Windows — Общие принципы применения переменных среды в командных файлах. Обработка параметров командной строки. Использование меток, переходов и циклическая обработка данных. Практические примеры решения задач администрирования системы.

Запуск приложений от имени администратора без запроса UAC — Как запустить из командного файла приложение или командный файл без запроса системы контроля учетных записей UAC

Работа с сетью в командной строке. — подробное описание команд CMD Windows для работы с сетью и примеры их использования.

Подсистема Linux в Windows 10 — Использование командной строки Linux в Windows 10.

Оцените статью