-1

命令行EventCreate.exe工具在注册表中注册用户定义的事件源以供 Windows 事件日志查看器使用,如下所示:

eventcreate /t INFORMATION /ID 100 /L "Application" /SO [SourceName] /D "Description"

图片

我编写了一个应用程序,它有自己的事件日志资源字符串,并根据 MSDN注册为事件源,但它不使用该CustomSource值并且工作正常。

我在 MSDN 或其他在线网站上找不到任何关于CustomSource确切含义的文档。我机器上的注册源都没有使用它。

有谁知道这CustomSource是什么意思,以及它是如何工作的?它只是内部的东西EventCreate.exe,还是 Windows 事件日志实际上将它用于某些东西?

4

1 回答 1

6

感谢@RbMm 指出这篇博文:

EventCreate 和“错误:源参数仅用于识别自定义应用程序/脚本”

无论出于何种原因,EventCreate 仅用于记录与 EventCreate 创建的事件日志源相关联的事件。它通过CustomSource 在创建新源时添加在源的注册表项中调用的 REG_DWORD 值来实现此目的,并检查该值是否存在已存在的源。所以在上面的例子中,如果应用程序日志中不存在“MyStuff”源,上面的命令会创建它并用一个CustomSource值配置它的键。在验证值的存在后,使用相同源对 EventCreate 的后续调用将成功CustomSource。但是,如果“MyStuff”源是通过另一种未创建 CustomSource 标志的机制创建的,例如使用 PowerShell New-EventLog cmdlet,然后您会收到错误消息。如果您在事件源的键中创建CustomSource值,则 EventCreate 将使用该源。

于 2018-01-17T16:50:48.460 回答