Windows事件字符数限制

我正在处理Windows事件ID 5136(“ 目录服务对象已被修改 ”)的输出分析,更具体地说是使用“ LDAP显示名称= nTSecurityDescriptor ”( 参见以下事件5136捕获 )的事件 。

在“value”字段中,我有一个在对象本身上更改的所有安全权限的列表,这是很好的。 但是,当我尝试比较两个相关的事件及其相应的“值”字段时,我注意到以下问题

  • 字符数总是5120(4096 + 1024)
  • 位于最后一行的文本总是被切割,并没有用正确的字符结束 – 最后应该是“)”( 请参阅folllwing文本输出 )。

关于事件的信息:

  • 源主机是Windows Server 2012 R2 DC(最新)
  • 对于这个特定的输出分析,日志直接从源计算机本身提取(所以没有WEF,NXlog代理,SYSLOG,ELK,SIEM,…)
  • 通过PowerShell查看事件,事件控制台(常规选项卡)或事件控制台(详细信息/ XML视图)提供相同的输出

所以我在Windows Events(不是事件日志文件本身)中寻找了一些值大小的限制,只是在“community embarcadero”和“developpez”网站上find了一些信息。

问题 :是否有人知道Windows日志值字段是否有任何限制为5120字节,并增加一个方法? 我需要两者之间的差异和报告的变化。 谢谢

事件中的消息由EvtFormatMessage函数呈现。 据我记得,有这个约32K字符的限制,所以这不应该导致截断。 这可以通过由事件ID和与事件一起存储的一组值来标识的格式string来工作。 value: %片是这样的。 用于写入此值的EVENTDATA_DESCRIPTOR结构也可以存储较大的数据。

我敢打赌,事件提供者有一个内部的限制(5120)。 这背后的原因可能是由于EVENTDATA_DESCRIPTOR文档中提到的限制:

 Note that the total data size of the event (not just this data item) is the lesser of 64 KB 

你的事件有12个值,如果他们使用相同的限制,那么它会下降到5kb左右。 也许你可以向微软提交一个错误报告。