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

gal*_*ets 7 windows winapi event-log service-control-manager

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

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

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

由于访问被拒绝,使用SCM无法实现后期操作,即使我是管理员.然而,杀死进程工作,我凸轮启动"Windows事件日志"服务,之后事件日志记录正常工作.

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

cur*_*par 7

仅仅是为了记录,因为这是一个老问题:我也遇到了这个问题,Christo的评论让我进入了解决方案的道路:

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

您可能需要从Microsoft下载psexec.