将系统事件日志中记录的事件路由到自定义事件日志

将系统事件日志中记录的事件路由到自定义事件日志

我有一个 Windows Server 2008 实例,正在运行一些支持我的应用程序的特定服务。

Windows 事件系统日志中有一些事件是为我的服务生成的,但由其他应用程序(例如服务控制管理器)生成的,如果由于密码错误而无法启动我的服务,它会在系统日志中为我的服务生成一个事件。我想捕获这些事件并将其重定向到自定义日志(例如 MyApplication.Admin),其中包含我从我的服务中记录的所有事件。然后,其他软件会监视此自定义日志,并根据它看到的事件向特定人员发出警报。我可以同时监视系统和自定义日志,但我更愿意将事件按逻辑分组到我的自定义日志中。

我的问题是,是否可以通过在事件日志中创建某种自定义规则将特定事件从系统日志复制到 MyApplication.Admin 日志,或者通过其他方式来实现?

答案1

如果您可以控制服务应使用哪个事件日志,则可以创建自己的日志并写入其中:

PS C:\Windows\system32> New-EventLog -LogName“MyCustomApplicationLog”-Source“MyCustomApplication”
PS C:\Windows\system32> Get-EventLog -List

  最大 (K) 保留 OverflowAction 条目日志
  ------ ------ -------------- ------- ---
  20.480 0 OverwriteAsNeeded 15.518 应用程序
  20.480 0 OverwriteAsNeeded 0 硬件事件
     512 7 覆盖旧版 0 Internet Explorer
  20.480 0 OverwriteAsNeeded 0 密钥管理服务
     512 7 OverwriteOlder 13 Lenovo-Lenovo 补丁实用程序/管理员
     512 7 覆盖旧版 2 Lenovo-Message Center Plus/Admin
     512 7 覆盖旧 0 MyCustomApplicationLog
     128 0 OverwriteAsNeeded 86 OAlerts
  20.480 0 OverwriteAsNeeded 18.768 安全
  20.480 0 OverwriteAsNeeded 54.974 系统
  15.360 0 OverwriteAsNeeded 3.136 Windows PowerShell

我认为您可以使用 wmi 事件处理程序来实现这一点。我稍后会发布一个示例。

相关内容