EvtOpenChannelEnum 访问被拒绝

发布于 2024-11-06 19:17:57 字数 362 浏览 5 评论 0原文

在使用 EvtOpenSession 获取有效会话句柄后,我正在调用 EvtOpenChannelEnumEvtOpenSession 有效,但 EvtOpenChannelEnum 返回访问被拒绝 (GetLastError = 5)。

为什么会这样呢?如果存在访问问题,我希望通过 EvtOpenSession 调用来解决它。更令人困惑的是,用户可以使用我的程序在同一台计算机上,以同一用户身份登录,并使用 Windows 事件日志查看器(2008 年,因此假设它使用相同的 API)并且它工作正常。

难住了...

I'm calling EvtOpenChannelEnum after having gotten a valid session handle with EvtOpenSession. EvtOpenSession worked, but EvtOpenChannelEnum is returning access denied (GetLastError = 5).

Why would this be? If there was an access problem, I'd expect to hit it with the EvtOpenSession call. What's more perplexing, the user can get on the same computer with my program, logged in as the same user, and use the Windows Event Log Viewer (2008, so assuming it's using the same API) and it works fine.

Stumped...

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

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

发布评论

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

评论(1

明明#如月 2024-11-13 19:17:57

您没有远程服务器所需的权限。这不会立即检查,而是在您第一次使用手柄时检查。

来自 EvtOpenSession 的文档:

该函数不验证
证书;凭证是
第一次尝试时已验证
使用会话句柄。如果
凭据无效,调用
将失败并显示 ERROR_ACCESS_DENIED。

You do not have the required permission on the remote server. This is not checked immediately, but when you use the handle for the first time.

From the docs for EvtOpenSession:

This function does not validate the
credentials; the credentials are
validated the first time you try to
use the session handle. If the
credentials are not valid, the call
will fail with ERROR_ACCESS_DENIED.

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