Поймайте системные события журнала Windows к текстовому файлу

Что-то как:

$ iptables -A PREROUTING -t nat -p tcp --dport 2525 -j REDIRECT --to-port 25

Это, возможно, должно быть отредактировано в зависимости от Вашего текущего iptables ruleset.

2
задан 28 July 2011 в 23:27
3 ответа

Быстрый ответ; вручную, от Event Viewer, нажмите на Системный Журнал, затем перейдите к Представлению> Фильтр и выберите W32Time от Источника события выпадают. Нажмите OK. Затем перейдите к Действию> Список экспорта и введите свое имя файла. Если бы Вы хотите деталь также, необходимо было бы сохранить весь файл журнала, с Действием> Сохраняют Файл журнала Как и выбирают Tab Delimeted или Comma Separated от Сохранения как Тип выпадают.

Длинный ответ, пишущий сценарий. Используйте WMI для запросов Win32_NTLogEvent и буферизуйте его в файл или с FileSystemObject или с перенаправлением вывода:

On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_NTLogEvent WHERE SourceName = 'W32Time'",,48)

Dim fso : Set fso = CreateObject("scripting.filesystemobject")
Dim ts : Set ts = fso.CreateTextFile("X:\w32time_events.txt", True)

For Each objItem in colItems
    ts.WriteLine "Category: " & objItem.Category
    ts.WriteLine "CategoryString: " & objItem.CategoryString
    ts.WriteLine "ComputerName: " & objItem.ComputerName
    ts.WriteLine "Data: " & objItem.Data
    ts.WriteLine "EventCode: " & objItem.EventCode
    ts.WriteLine "EventIdentifier: " & objItem.EventIdentifier
    ts.WriteLine "EventType: " & objItem.EventType
    ts.WriteLine "InsertionStrings: " & objItem.InsertionStrings
    ts.WriteLine "Logfile: " & objItem.Logfile
    ts.WriteLine "Message: " & objItem.Message
    ts.WriteLine "RecordNumber: " & objItem.RecordNumber
    ts.WriteLine "SourceName: " & objItem.SourceName
    ts.WriteLine "TimeGenerated: " & objItem.TimeGenerated
    ts.WriteLine "TimeWritten: " & objItem.TimeWritten
    ts.WriteLine "Type: " & objItem.Type
    ts.WriteLine "User: " & objItem.User
    ts.WriteBlankLines 1
Next

ts.Close

Set ts = Nothing
Set fso = Nothing
Set colItems = Nothing
Set objWMIService = Nothing

Опция Cheating, если Вы не можете быть побеспокоены; от a cmd командная строка, попробуйте:

wmic NTEVENT | find /i "W32Time" > W32Time_Events.txt

HTH

J.

3
ответ дан 3 December 2019 в 10:17

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

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

Отказ от ответственности: Я работаю на netikus.net.

1
ответ дан 3 December 2019 в 10:17

Используйте winlogbeat для передачи выбранных журналов Windows с желаемым уровнем уведомлений в файл или на сервер logstash.

https://www.elastic.co/beats/winlogbeat

PS: будьте точны с отступами в файле конфигурации. Формат YML зависит от количества пробелов перед каждой строкой и подкатегорией.

0
ответ дан 3 June 2020 в 12:31

Теги

Похожие вопросы