首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于WMI的EventLogs查询和DCOM的性质

关于WMI的EventLogs查询和DCOM的性质
EN

Stack Overflow用户
提问于 2011-04-18 18:13:04
回答 1查看 550关注 0票数 0

首先是一些背景:

我目前正在使用j-interop从Linux框查询对Windows框的WMI调用,我正在针对WMI运行这个查询:

代码语言:javascript
复制
SELECT * FROM __InstanceCreationEvent WHERE TargetInstance ISA 'Win32_NTLogEvent'

并将其作为通知查询执行,这样我就可以在创建数据时立即获得数据。然而,这在(罕见的)时候证明了一个问题。

比方说,当用户更改根文件夹上的权限时,我可能会被成千上万条日志淹没,系统可以处理这个很好的java和interop代码,但是WMI周期似乎是这样的:

代码语言:javascript
复制
Hook into event
while(forever)
{
    Query server for next event.
    Do work with event.
}

显然,这对我不起作用,因为我会在服务器上来回跳好几千次,程序不会窒息,但这肯定要花费很长时间,我无法找到一种方法让事件返回所有挂起的事件(我认为)。

下一个选择是跟踪WMI返回的最后一个记录ID,并对记录ID大于最后一个事件的所有事件执行一个直接的查询,我假设这会更好地工作,但是我不熟悉DCOM。

所以我的问题是:

如果我运行的是ExecQuery而不是通知查询,那么由于分布式COM的性质,我是否需要在客户机/服务器之间来回跳来跳去,以遍历查询返回的每条记录?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-27 13:52:45

这里的主要解决方案是不要为此使用DCOM,这是非常低效率的,而且我已经将服务器置于执行大量DCOM指令的大量CPU压力之下。

如果我想远程执行Windows实现,或者在本地执行WinAPI,我将研究它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5707037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档