Подтвердить что ты не робот

Удаление источника журнала событий без использования кода

У меня есть приложение, которое создало несколько настраиваемых источников журнала событий, чтобы помочь отфильтровать его вывод. Как я могу удалить пользовательские источники с компьютера БЕЗ написания какого-либо кода в качестве запуска быстрой программы с использованием System.Diagnostics.EventLog.Delete не представляется возможным.

Я попытался использовать RegEdit для удаления настраиваемых источников из [HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX\Services\Eventlog], однако приложение действует так, как будто журналы все еще существуют за кулисами.

Что еще мне не хватает?

4b9b3361

Ответ 1

Я также думаю, что вы в нужном месте... он хранится в реестре под именем журнала событий. У меня есть собственный журнал событий, в котором есть несколько источников событий.

HKLM\System\CurrentControlSet\Services\Eventlog\LOGNAME\LOGSOURCE1 HKLM\System\CurrentControlSet\Services\Eventlog\LOGNAME\LOGSOURCE2

В этих источниках есть ключ EventMessageFile, который является REG_EXPAND_SZ и указывает на:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\EventLogMessages.dll

Я думаю, что если вы удалите Ключ, являющийся источником журнала, LOGSOURCE1 в моем примере, это должно быть все, что нужно.

Для чего это стоит, я пробовал его через .NET и что он сделал. Тем не менее, похоже, что каждый пользовательский журнал событий также имеет источник с тем же именем. Если у вас есть собственный журнал, это может повлиять на вашу способность его очищать. Возможно, вам придется удалить журнал. Кроме того, если ваше приложение имеет установщик, я вижу, что имя приложения также может быть зарегистрировано в качестве источника в журнале событий приложения. Еще одно место для очистки.

Ответ 2

Как насчет использования Powershell?

Remove-EventLog -LogName "Custom log name"

Remove-EventLog -Source "Custom source name"

Ответ 3

Мне удалось удалить его, используя:

[System.Diagnostics.EventLog]::Delete("WrongNamedEventLog");

в powershell

Ответ 4

Возможно, ваше приложение отказоустойчиво, что означает, что он проверяет, зарегистрирован ли источник журнала событий и регистрирует источник, если это не так?

Если бы это было так, ваше приложение каждый раз заново создавало источник (ы), независимо от того, что вы делали.