EvtArchiveExportedLog 失败并显示 ERROR_DIRECTORY

发布于 2024-09-10 11:43:14 字数 396 浏览 7 评论 0原文

我需要在 Windows Server 2008 R2 上将一些事件从 Windows 事件日志导出到 XML。为了实现这一目标,我使用 EvtExportLog 将这些事件导出到文件,然后尝试使用 EvtArchiveExportedLog 获取事件的本地化描述。 以下是示例:

EvtExportLog( 0, 0, query, logFileName, EvtExportLogChannelPath );
EvtArchiveExportedLog( 0, logFileName, 0, 0 );

EvtExportLog 函数成功并创建 .evtx 文件,但 EvtArchiveExportedLog 不断失败,并显示 ERROR_DIRECTORY 错误代码。我不知道这种行为的原因是什么。

I need to export some events from Windows Event Log to XML on Windows Server 2008 R2. To achieve it I export these events to a file using EvtExportLog and then try to use EvtArchiveExportedLog to get localized descriptions for events.
Here's the sample:

EvtExportLog( 0, 0, query, logFileName, EvtExportLogChannelPath );
EvtArchiveExportedLog( 0, logFileName, 0, 0 );

EvtExportLog function succeeds and creates .evtx file but EvtArchiveExportedLog constantly fails with ERROR_DIRECTORY error code. I have no idea what the reason of such behaviour is.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

烟织青萝梦 2024-09-17 11:43:14

看来我已经找到原因了。 EvtArchiveExportedLog 对托管事件日志服务的 svchost.exe 进行 RPC 调用。此服务尝试在“%windir%\ServiceProfiles\LocalService\AppData\Local\Temp”文件夹中创建文件,失败并显示 ERROR_ACCESS_DENIED 代码,并向 RPC 客户端返回 ERROR_DIRECTORY。就RPC服务器模拟客户端而言,解决方案是向调用线程授予访问权限。

It seems that I've found the reason. EvtArchiveExportedLog makes an RPC call to svchost.exe which hosts eventlog service. This service tries to create a file in "%windir%\ServiceProfiles\LocalService\AppData\Local\Temp" folder, fails with ERROR_ACCESS_DENIED code and returns ERROR_DIRECTORY to RPC client. So far as RPC server impersonates client, the solution is to grant access privileges to the calling thread.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文