Кто-нибудь знает, можно ли сохранить журналы событий Windows с заданного интервала времени в виде текстового файла с C#? Например, я хочу сохранить журналы системных событий с 10-11 утра в текстовом файле. Если возможно, у кого-нибудь есть ссылка на хороший учебник или, может быть, фрагмент кода, который может заставить меня идти? Я искал в Интернете, но не могу получить то, что я ищу.Используйте C# для сбора журналов событий за определенный период времени
1
A
ответ
4
1
Просто добавив информацию для других о том, как фильтровать журналы событий по диапазону времени как часть запроса WMI.
Обратите внимание, что «TimeGenerated» - это когда происходят события и «TimeWritten», когда они регистрируются. «RecordNumber» - уникальный индекс, полезный для предотвращения столкновения или дублирования ведения журнала.
System.Management.ManagementDateTimeConverter, который преобразует между C# DateTime и WMI CIM_DATETIME форматом. Но имейте в виду, что он делает UTC CIM в LOCAL DateTime, оставляя Kind Unspecified, поэтому установите Kind после этого, чтобы избежать головных болей!
Это пример для захвата сбоев безопасности (для отслеживания локаута) в течение последних 30 минут:
private void SearchEventViewer(string computerName, string userName, string userPass)
{
var scope = CreateManagementScope(computerName, userName, userPass);
var startTime = ManagementDateTimeConverter.ToDmtfDateTime(DateTime.UtcNow.AddMinutes(-30));
var query = new SelectQuery("SELECT * FROM Win32_NTLogEvent WHERE Logfile = 'Security' AND EventType = '5' AND TimeGenerated > '" + startTime + "'");
using (var searcher = new ManagementObjectSearcher(scope, query))
{
var result = searcher.Get();
foreach (var item in result)
{
var eventTimeLocal = DateTime.SpecifyKind(ManagementDateTimeConverter.ToDateTime(item["TimeGenerated"].ToString()), DateTimeKind.Local);
var eventTimeUtc = eventTimeLocal.ToUniversalTime();
var eventDetails = item["Message"].ToString().Replace("\r\n\r\n", "\r\n");
eventDetails += "\r\nEventCode: " + item["EventCode"];
eventDetails += "\r\nCatogory: " + item["Category"];
eventDetails += "\r\nRecord Number: " + item["RecordNumber"];
eventDetails += "\r\nLocal Time: " + eventTimeLocal.ToString("yyyy-MM-dd HH:mm:ss");
// Do something...
}
}
}
private ManagementScope CreateManagementScope(string computerName, string username = "", string password = "")
{
var managementPath = @"\\" + computerName + @"\root\cimv2";
var scope = new ManagementScope(managementPath);
if (username != "" && password != "")
{
scope.Options = new ConnectionOptions
{
Username = username,
Password = password,
Impersonation = ImpersonationLevel.Impersonate,
Authentication = AuthenticationLevel.PacketPrivacy
};
}
return scope;
}
Смежные вопросы
- 1. Число случайных событий за определенный период времени
- 2. Как рассчитать количество событий за определенный период времени
- 3. Совокупность за определенный период времени, подсчет уникальных
- 4. перебирать куски dataframe за определенный период времени
- 5. Приблизительное количество событий за данный период времени
- 6. Как запустить CLLocationManager за определенный период времени
- 7. Вставить Игнорировать эффективность за определенный период времени
- 8. Twitter: Получить твиты за определенный период времени
- 9. подсчет mysql за определенный период времени
- 10. Общее количество за определенный период времени SQL
- 11. Получить данные за определенный период времени
- 12. Попадая продаж за определенный период времени (Excel)
- 13. Ограничение количества заданий за определенный период времени
- 14. Android, повторите действие за определенный период времени
- 15. Как повторить cronExpression за определенный период времени?
- 16. Подсчет больших значений за определенный период времени
- 17. Авто Отправить форму за определенный период времени
- 18. Получить записи, созданные за определенный период времени
- 19. Сумма за период времени
- 20. Частота за период времени
- 21. Получение минимального значения за определенный период времени для каждой записи
- 22. AWS EC2 оплачивает часы за экземпляр за определенный период времени
- 23. C++ Timer (Подождите определенный период времени)
- 24. Постоянное требование и сбор данных за определенный период времени
- 25. методы сбора журналов событий Windows удаленно?
- 26. JavaScript - Прослушивание нескольких событий за указанный период времени
- 27. Свинья дело заявление для нахождения нет. Из событий за определенный период времени
- 28. Сценарий в определенный период времени
- 29. Высокий процессор за определенный период времени и верхние процессы за этот период
- 30. Как получить историю просмотров в android за определенный период времени
Brilliant, только то, что я искал. – DukeOfMarmalade