Как я могу удалить определенные события из журнала событий в Windows Server 2008?

20

Нужен ли сторонний инструмент для этого?

JC.
источник
4
Я тоже. На ум приходят только злые вещи.
Стю Томпсон
3
У меня тоже есть запрос на это. Например: RDP имеет некоторые проблемы с одним из моих принтеров. Он отображается в журнале приложений с большой жирной буквой X, которая затем выбирается ВСЕ НАД (особенно на контроллерах домена, например, dcdiag и т. Д.) И вызывает ОЧЕНЬ больше проблем. Может быть, лучший вопрос: как подавить регистрацию ошибок определенных типов?
Мэтт Рогиш
3
Зло, ха У меня было приложение, случайно пишущее сообщения, которые вызывали проблемы со службой уведомлений.
JC.
2
@Matt Rogish способ подавления регистрации ошибок определенного типа - это исправить ошибку. Факт, что это регистрирует некоторую проблему, указывает на то, что что-то не так, что должно быть исправлено, а не дружеское напоминание, чтобы заполнить Ваш автомобиль бензином.
mrTomahawk
1
Это мой собственный сервис, который я написал. Мне было просто любопытно, можно ли это сделать.
JC.

Ответы:

18

Microsoft намеренно мешает вам сделать это. Вся концепция просмотра событий заключается в представлении вам определенных событий, которые могут потребовать вашего внимания. Если бы кто-то мог зайти и удалить любое случайное событие, то система могла бы - в некотором смысле - быть скомпрометирована без вашего ведома, что сделало бы ее небезопасной.

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

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

mrTomahawk
источник
4
Только администратор должен иметь доступ к журналам, и если злонамеренный пользователь приобрел административные привилегии для вашего ящика, то вы уже f'd.
Бамбамс
2
@mrTomahawk, это не имеет значения. Видимо кто-то спрашивает: «Как я могу удалить определенные события из журнала событий в Windows Server 2008?» хочет сделать это. Так как мы можем это сделать? Если это невозможно, почему? Как это возможно, что это невозможно?
Pacerier
У вас есть действительная точка. Но как отфильтровать события, а не удалить события? Если мы получаем много шума от чего-то, и мы работаем над этим, но мы также хотим посмотреть, что еще вызывает проблемы, как мы это делаем?
Джон Роча
1
@JohnRocha Из быстрого поиска выясняется, что в их фильтрации нет оператора «не». Что кажется абсурдным.
Рейраб
1
@JohnRocha Выполнение пользовательских запросов к журналу событий использует ограниченное подмножество XPath 1.0 для записи запросов в формате XML. Выражения XPath в элементе Select определяют, что вы получаете. Элемент «Подавить» следует за элементом «Выбрать» и удаляет ненужные элементы.
JamieSee
35

Пост ОП действителен. Проблема номер один с ведением журнала, отчетами об ошибках и предупреждением - это белый шум. Когда сообщается о слишком большом количестве «ошибок» и большинство из них имеют низкий приоритет или не имеют никакого значения, администраторы склонны игнорировать ВСЕ ошибки. Хорошо это или плохо, это просто факт жизни.

Одна из ошибок, о которых он говорит, - это (я думаю) событие с кодом 1111. Это просто означает, что у вас есть принтер, сопоставленный с драйвером, который недоступен на сервере, к которому вы подключены. В большинстве случаев это ошибка, которая не имеет значения ... "исправить" нечего, так как это не проблема.

Если вы хотите найти реальные проблемы и у вас есть конкретные идентификаторы событий, которые вы не хотите пропустить, создайте собственное представление, выполнив следующие действия:

  1. В журнале событий нажмите «Фильтровать текущий журнал» на панели действий.
  2. Примерно на полпути вниз по всплывающему диалоговому окну вы найдете текстовое поле с <All Event IDs>
  3. Замените этот текст вашими потребностями фильтра.
    • Если вы хотите только определенное событие, поместите его там.
    • Если у вас есть кратные, используйте запятые для разделения.
    • Если вы хотите исключить, используйте знак минус.
    • В этом случае мы будем использовать «-1111» (без кавычек, конечно).
  4. Нажмите «ОК» в диалоговом окне.
  5. На панели действий вы теперь нажимаете «Сохранить фильтр в пользовательском представлении».

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

Я знаю, что это поздний пост в мертвой ветке, но, надеюсь, он поможет кому-то еще, кто ищет это в Google, больше, чем посты «[Работая как задумано, n00b!]» ;-)

Чад Патрик
источник
6
Это фильтрация, а не удаление. Вы дали отличный (и полезный) ответ на вопрос, который не был задан, если честно.
mfinni
1
@mfinni, и, честно говоря, он не дал ответа на заданный вопрос . Вопрос 35k, которые задают посетители этой страницы.
Pacerier
4
Это отличный и полезный ответ, который наилучшим образом соответствует цели исходного вопроса, учитывая ограничения, налагаемые Microsoft.
Майк Битон
2
Я думаю, что комментарии с обеих сторон являются действительными. Информация о фильтрации гораздо полезнее, чем просто оставить ответ «Вы не можете». Принятый ответ - это правильный ответ, и я добавил +1. Ответ @ chad-patrick также очень полезен, и я тоже добавил +1. Но в ответе Чада есть недостаток: вы не должны просто использовать знак минуса на идентификаторах событий , так как некоторые приложения используют одинаковые номера. Требуется более строгая фильтрация по провайдеру и идентификатору события. Поскольку подробности об этом вне контекста, вот ссылка для начинающих: bit.ly/1d9seDp
TonyG
4

Единственное, что вы можете сделать в Windows, это очистить весь журнал. Я нашел только одно стороннее приложение, которое утверждает, что делает это - Winzapper , однако я никогда не использовал его и заявляет, что оно предназначено для NT и 2000, поэтому я не знаю, будет ли оно работать на сервере 2003/2008. Имейте в виду, что при их использовании возможно повреждение журнала событий, так что действуйте осторожно.

Сэм Коган
источник
1

Что может решить вашу проблему, так это изменить политики аудита в групповой политике. Не зная, что конкретно вы хотите не показывать, я не уверен, есть ли настройки для этого, но вот пример.

В консоли управления групповыми политиками подробно выберите Конфигурация компьютера - Параметры Windows - Параметры безопасности - Локальные политики - Политика аудита. Здесь нет тонны детализации, но, возможно, вы можете избавиться от того, что заполняет ваши журналы. (Мои DC не 2008 года, так что это то, что я получил с точки зрения AD 2003 года, надеюсь, это не совсем другое)

Кара Марфия
источник
Хороший вопрос, но я не удаляю существующие журналы. Это влияет только на будущие журналы.
Pacerier
-1

Вы можете написать приложение .net для удаления журнала событий и источника событий.

Пример исходного кода, как показано ниже:

class Program
{
    static void Main(string[] args)
    {
        System.Diagnostics.EventLog.DeleteEventSource("YourEventSourceName");
        System.Diagnostics.EventLog.Delete("YourEventName");
    }
}

Ссылка: http://msdn.microsoft.com/en-us/library/system.diagnostics.eventlog(v=vs.100).aspx

qifahuang
источник
Как очистить ВСЕ записи Журнал событий приложения ?, а не удалять журнал событий приложения, только записи
Kiquenet
Кто-нибудь проверял это? Это работает для всех событий?
Pacerier
-1

Вы можете удалить запись из этого общего реестра, чтобы удалить событие:

HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Services \ EventLog

Аашиш Гупта
источник
Нет, вы не можете удалить конкретное событие оттуда. Вы можете удалить / разрушить журналы событий и поставщиков оттуда. Не то же самое.
Роб Мойр