命令行EventCreate.exe
工具在注册表中注册用户定义的事件源,供Windows事件日志查看器使用,如下所示:
eventcreate /t INFORMATION /ID 100 /L "Application" /SO [SourceName] /D "Description"
我编写了一个应用程序,它有自己的事件日志资源字符串并注册为事件源per MSDN,但它不使用CustomSource
值并且工作正常。
我无法在MSDN上或在线其他地方找到有关CustomSource
的具体内容的任何文档。我的机器上没有注册的资源使用它。
有谁知道CustomSource
的含义及其运作方式?它只是EventCreate.exe
内部的东西,还是Windows事件日志实际上用它来做什么?
答案 0 :(得分:2)
感谢@RbMm指出这篇博客文章:
EventCreate and "ERROR: Source parameter is used to identify custom applications/scripts only"
无论出于何种原因,EventCreate仅用于记录与EventCreate创建的事件日志源关联的事件。它通过在创建新源时在源的注册表项中添加名为
CustomSource
的REG_DWORD值并检查已存在的源的值来实现此目的。因此,在上面的示例中,如果应用程序日志中尚未存在“MyStuff”源,则上述命令将创建它并使用CustomSource
值配置其密钥。在验证CustomSource
值的存在后,对具有相同源的EventCreate的后续调用将成功。但是,如果“MyStuff”源是通过另一种未创建CustomSource标志的机制创建的,例如使用PowerShellNew-EventLog
cmdlet,那么您将收到错误消息。如果在事件源的密钥中创建CustomSource
值,则EventCreate将与该源一起使用。