问题标签 [wevtutil]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - WEVTUtil 从源过滤
我一直在尝试从 WEVTUtil 过滤应用程序日志以查看特定日志。但是,在过滤事件 id 1036 时,有两个独立的发布者。我希望能够从 MsiInstaller 中获取事件,但我一生都无法弄清楚如何去做,而且我似乎找不到任何东西。
这对我有用,但它并没有单独显示来自 MsiInstaller 的事件。我该怎么办。
bash - 将 wevtutil 的结果传递给 git bash 中的变量或数组
目标:正如标题所示,我需要将函数的结果传递给变量。具体来说,LASTLOG() { wevtutil qe "$WINLOG" //c:1 //rd:.ture //f:text }
这个主要命令是wevtutil qe "$WINLOG" //c:1 //rd:.ture //f:text
.
问题:最初我做了以下事情LASTLOG=$(wevtutil qe "$WINLOG" //c:1 //rd:.ture //f:text)
,但我被告知将 cmds 传递给变量不是最佳实践,所以我创建了一个函数。LASTLOG() { wevtutil qe "$WINLOG" //c:1 //rd:.ture //f:text }
--但是我似乎无法将函数的输出传递给变量以供以后比较。
cmd - wevtutil 匹配带有 ' 的字符串导致错误
我在运行此命令时遇到问题,因为我正在搜索的日志文件的字符串 DATA 中有 2 个“”。
wevtutil /r:hostname qe "Veeam Backup" /c:1 /f:text /rd:true /q:"*[EventData/Data=' search string here '] and *[System[(EventID=190)]] "
这是我试图在日志查看器中匹配的文本,完全如下所示:
备份作业“ServerName”已成功完成。所有虚拟机均已成功备份。
我遇到的问题是ServerName周围的 ' '正在抛出我正在运行的 wevtutil 命令中的 ' ' 并导致语法无效。
我该如何解决这个问题?
c++ - 如何在 C++ 中获得与“wevtutil qe Application”相同的行为?
我想将 WindowsApplication
事件日志导出到 XML 文件。
过去我问我如何以编程方式(C++)将事件日志文件保存为 CSV?没有成功。
今天我尝试了 EvtArchiveExportedLog 失败并显示 ERROR_DIRECTORY没有成功:我得到错误ERROR_FILE_NOT_FOUND
而不是ERROR_DIRECTORY
我不知道如何
授予调用线程访问权限
正如答案中所建议的那样https://stackoverflow.com/a/5110631/
命令行wevtutil qe Application > Application.xml
完全符合我的需要,我希望使用 C++ 代码获得相同的行为(除了system("wevtutil qe Application > Application.xml");
)。
遍历所有事件似乎表现不佳https://serverfault.com/a/353439/44612
cmd - 按用户名而不是 sid 过滤日志
我想过滤特定用户名的一些日志。在事件查看器中,您可以在提到的字段中输入用户名,它将过滤您的日志。但我想使用 cmd ( wevtutil ),所以我应该使用 xml 查询来过滤我的日志。但是问题出现在这里。在 xml 查询中,您只能输入您要查找的用户的 sid(在 system[security[@Userid]]] 中)。是否有可能以某种方式使用用户名而不是 sid?
注意:在事件查看器中,当您输入用户名时,它会将用户名转换为 sid 并在其 xml 查询中使用 sid。我不知道它是如何发生的。
我应该在这里提一下:有些人建议我使用“目标用户名”来过滤我的日志。但这不是我要找的。“目标用户名”仅处理登录日志。
windows - Windows 事件跟踪 (ETW) 增加会话缓冲区大小
我正在使用 ETW 来跟踪我正在开发的一些自定义应用程序(用 C++ 编写)的事件。提供者是基于清单的提供者。在一些测试会话期间,我看到一些事件丢失了,调试时,我发现 EventWrite 方法返回错误 ERROR_MORE_DATA ,如Windows Doc Page中定义的那样意味着
会话缓冲区大小对于事件来说太小了
查看此页面似乎可以定义bufferSize
属性。使用这些信息,我更新了清单:
旧清单
新清单
两个版本之间的区别在于,在 NEW MANIFEST 中我添加了以下元素:
channel="c1"
并在该行中 添加了属性<event keywords="Informative" value="4"...
不幸的是,我仍然继续遇到同样的错误。
这里的问题:
- 这种改变有意义吗?这是面对这个问题的正确方法吗?我有一些疑问,因为在这个文档页面中有一条注释说:
[!Note] 无论缓冲区大小如何,ETW 都无法收集大于 64KB 的事件。
- 使用命令正确编译清单
mc.exe -um OfflineProviders.man
并生成几个文件;但是当我尝试使用注册清单时,出现wevtutil.exe im OfflineProviders.man
以下错误
通道属性 BufferSize 的值包含无效值。参数不正确。
为什么我会收到此错误?该错误是否解释了为什么我仍然会继续丢失事件?