我正在开发记录到自定义事件日志的应用程序。应用程序最近更名,事件日志的名称已更改(从“CompanyA Events”更改为“CompanyB Events”)。事件日志源的名称(“Subsystem1”、“Subsystem2”等)没有改变。应用程序安装程序从注册表中删除旧日志条目并写入新日志条目。
我注意到,在某些环境中(在 2008 R2 上经常发生)日志记录停止,并且没有事件被写入。有时事件实际上被写入了应该被删除的旧 evtx 文件。以下解决了问题:
- 重启机器
- 重新启动“Windows 事件日志”服务
后一个操作无法使用 SCM 实现,因为访问被拒绝,即使我是管理员。但是,终止进程有效,我启动了“Windows 事件日志”服务,之后事件日志记录正常工作。
问题:如何在不终止进程或重启机器的情况下重新初始化事件日志服务?是否存在某种已记录或未记录的调用,我可以使用它来通知事件日志服务它应该重新读取其配置?
最佳答案
仅作记录,因为这是一个老问题:我也遇到过这个问题,Christo's comment让我走上了解决的道路:
- 使用
psexec -s net stop schedule
(因此,我使用系统帐户停止了任务调度程序服务), - 然后我能够重新启动事件日志服务。
- 重新启动后,我再次使用
psexec -s net start schedule
。干得好。
您可能需要从 Microsoft 下载 psexec。
关于windows - 在不重新启动的情况下重新初始化 Windows 事件日志服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19169529/