如何从Windows Server 2008中的事件日志中删除特定事件?


20

我需要第三方工具吗?


4
我也是。只有邪恶的事情浮现在脑海。
斯图·汤普森

3
我也有这个要求。例如:RDP在我的一台打印机上有一些问题。它在应用程序日志中显示为带有一个大的X,然后将其大容量地提取(尤其是在域控制器上,例如dcdiag等),并引起更多的问题。也许更好的问题是:如何抑制某些类型的错误的记录?
马特·罗吉什

3
邪恶,哈。我有一个应用程序不小心写了导致通知服务出现问题的消息。
JC。

2
@Matt Rogish抑制记录某种类型的错误的方法是修复错误。它记录了一些问题,这一事实表明应该修复一些错误,而不是友好地提醒您将汽车加油。
mrTomahawk

1
这是我写的服务。我只是好奇是否可以做到。
JC。

Answers:


18

Microsoft故意阻止您执行此操作。事件查看器的整个概念是向您呈现某些可能需要您注意的事件。如果可以进入并删除任何随机事件,那么从某种意义上讲,系统可能会在不知情的情况下受到威胁,因此使其不安全。

如果记录了错误事件,请找出导致问题的原因并解决。您不想通过在洞中粘一团口香糖来修补洞。

如果某件事过于频繁地记录信息性事件或警告事件,则很多情况下,事件日志源(Microsoft或第三方)都具有一些设置,该设置指示为应用程序配置的频率或级别达到了什么级别。那是您要减少日志记录的地方,而不是对事件日志进行手术。


4
只有管​​理员应该可以访问日志,并且如果恶意用户获得了对您的邮箱的管理权限,则说明您已经够了。
bambams 2013年

2
@mrTomahawk,这无关紧要。显然有人问“如何从Windows Server 2008的事件日志中删除特定事件?” 想做到这一点。那么我们该怎么做呢?如果不可能,为什么呢?怎么可能没有呢?
Pacerier

您有一个有效的观点。但是,如何过滤事件而不是删除事件呢?如果我们从某件事中得到很多噪音,并且我们正在努力研究,但我们也想看看还有什么问题,我们该怎么做?
约翰·罗查

1
@JohnRocha通过快速搜索,似乎他们的过滤器中没有“ not”运算符。这似乎很荒谬。
reirab '16

1
@JohnRocha对事件日志执行自定义查询使用XPath 1.0的有限子集以XML格式编写查询。Select元素中的XPath表达式确定要检索的内容。Suppress元素位于Select之后,并删除不需要的项目。
JamieSee

35

OP的职位有效。日志记录,错误报告和警报的首要问题是白噪声。当报告了太多的“错误”,并且其中大多数都是低优先级或根本没有问题时,管理员往往会忽略所有错误。好与坏,这只是生活中的事实。

他正在谈论的错误之一是(我认为)事件ID1111。这仅表示您有一个打印机映射有一个驱动程序,该驱动程序在您所连接的服务器上不可用。在大多数情况下,这是个无关紧要的错误……没有什么可以“修复”的,因为这不是问题。

如果您想找到实际的问题,并且不想使用特定的事件ID,请按照以下步骤创建自定义视图:

  1. 在事件日志中,单击操作窗格中的“筛选当前日志”。
  2. 在弹出的对话框的大约一半处,您会发现一个文本框,其中包含 <All Event IDs>
  3. 将此文本替换为您的过滤器需求。
    • 如果只需要某个事件,则在该事件ID中放置该事件ID。
    • 如果有多个,请使用逗号分隔。
    • 如果要排除,请使用减号。
    • 在这种情况下,我们将使用“ -1111”(当然不带引号)。
  4. 在对话框上单击“确定”。
  5. 现在,在操作窗格中单击“将过滤器保存到自定义视图”。

现在,当您希望查看事件日志时,请使用自定义视图,仅显示您真正关心的信息。

我知道这是死线程的较晚发布,但希望它比“ [[按预期工作,n00b!]” ;-)的发布对其他正在使用Google搜索的人有所帮助


6
那是过滤,而不是去除。老实说,您对未提出的问题给出了很好的(有用的)答案。
mfinni 2011年

1
@mfinni,并坦率地说,他没有得到任何回答这个问题。这个页面有35,000名访客问这个问题。
Pacerier,2015年

4
考虑到Microsoft施加的限制,这是一个很好且有用的答案,它尽可能符合原始问题的意图
Mike Beaton'3

2
我认为双方的评论都是有效的。有关过滤的信息比仅简单地回答“您不能”更有用。接受的答案是正确的答案,而我对其+1了。@ chad-patrick的回答也非常有帮助,我也为此+1了。但在乍得的回答一个缺陷,你不应该使用减号上的事件ID,因为有些应用程序使用同一个号码。需要对提供者和事件ID进行更严格的过滤。由于此内容的具体内容已脱离上下文,因此这里是一个入门链接:bit.ly/1d9seDp
TonyG

4

在Windows中唯一可以做的就是清除整个日志。我只找到一个声称可以做到这一点的第三方应用程序-Winzapper,但是我从未使用过它,它说它适用于NT和2000,所以我不知道它是否适用于Server 2003/2008。请注意,使用它们时,可能会损坏事件日志,因此请谨慎行事。


1

可能解决您的问题的是在组策略中更改审核策略。不知道具体不想显示什么,我不确定是否有设置,但这是一个示例。

在GPMC中,向下钻取“计算机配置-Windows设置-安全设置-本地策略-审核策略”。这里没有很多详细信息,但也许您可以摆脱填充日志的内容。(我的DC不是2008,所以这是我从2003 AD的角度来看的,希望这并没有完全不同)


好点,但是我不这样做会删除现有日志。它仅影响将来的日志。
Pacerier,2015年

-1

您可以编写.net应用程序以删除事件日志和事件源。

示例源代码如下:

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

参考:http : //msdn.microsoft.com/zh-cn/library/system.diagnostics.eventlog(v=vs.100).aspx


如何清除所有条目应用程序事件日志?,而不是删除应用程序事件日志,仅删除条目
Kiquenet 2014年

有人测试过吗?这适用于所有事件吗?
和平者

-1

您可以从此共享注册表位置删除条目以删除事件:

HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ services \ eventlog


不,您不能从那里删除特定事件。您可以从那里删除/破坏事件日志和提供程序。不一样的东西。
罗伯·摩尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.