C # Разбор EventLog с другого хоста, FormatDescription () является нулевым - PullRequest
0 голосов
/ 24 февраля 2019

Я пытаюсь прочитать экспортированные / скопированные журналы событий с другого хоста (не моей локальной системы) в C #.Это означает, что не все установленные программы одинаковы.Я понимаю, что журналы событий заключаются в том, что, если пользовательское сообщение написано, сообщение будет динамически генерироваться DLL этой программы (я полагаю, для локализации).Поскольку DLL не может быть найдена, вы видите следующее сообщение при просмотре этого в графическом интерфейсе:

Описание для события с кодом X из источника Y не может быть найдено.Либо компонент, который вызывает это событие, не установлен на локальном компьютере, либо установка повреждена.Вы можете установить или восстановить компонент на локальном компьютере.

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

Следующая информация была включена вevent:

Однако при попытке прочитать это событие программно, я получаю нулевое значение для EventRecord.FormatDescription ();

Это звучит очень похоже на эту проблему, но установка local не работает для меня (и я не верю, что так будет, поскольку программа отсутствует): Почему EventRecord.FormatDescription () возвращает null? Я могу перебрать данные XML и извлечь некоторую информацию, но она не содержит всего и не отформатирована одинаково для каждой записи.

Я хочу вытащить ту же самую информацию, которая показанав GUI (как показано в приведенной выше цитате с «исходными данными») при извлечении данных для одной из этих записей.Это возможно?Если да, то как?

Редактировать / обновить:

Мое "исправление" - просто выгрузить все данные XML, связанные с этим событием, в выходной файл CSV (например, XDocument.Parse (eventRecord.ToXml ()). ToString ()).В любом случае это может быть лучшим решением в журнале (для моего случая использования), поскольку он предоставляет все данные пользователю для поиска.Однако я не собираюсь отмечать это как исправленное в случае, если кто-то захочет дублировать поведение GUI «Просмотр событий».

...