重新初始化Windows事件日志服务而不重新启动

时间:2013-10-03 21:27:39

标签: windows winapi event-log service-control-manager

我正在处理记录到自定义事件日志的应用程序。应用程序最近已重新命名,事件日志的名称已更改(从“CompanyA Events”更改为“CompanyB Events”)。事件日志源(“Subsystem1”,“Subsystem2”等)的名称未更改。应用程序安装程序从注册表中删除旧的日志条目并写入新的日志条目。

我注意到,在某些环境中(在2008 R2上发生了很多),日志记录停止,并且没有写入任何事件。有时事件实际上写入OLD evtx文件,该文件本应被删除。以下修复了问题:

  • 重启机器
  • 重新启动“Windows事件日志”服务

由于拒绝访问,使用SCM无法实现后期操作,即使我是管理员也是如此。但是,杀死进程是有效的,我可以启动“Windows事件日志”服务,之后事件记录正常工作。

问题:如何重新初始化事件日志服务而不会终止进程或重新启动计算机?是否存在某种记录或未记录的调用,我可以使用它来指示事件日志服务应该重新读取其配置?

1 个答案:

答案 0 :(得分:7)

仅供记录,因为这是一个老问题:我也遇到了这个问题,并且Christo's comment让我进入解决方案的路径:

  • 使用psexec -s net stop schedule(因此,我使用系统帐户停止了任务调度程序服务),
  • 然后我就能重启事件日志服务。
  • 重新启动后,我再次使用psexec -s net start schedule。路要走。

您可能需要从Microsoft下载psexec。