51Testing软件测试论坛

标题: WMI高手请进 [打印本页]

作者: tuchun81    时间: 2007-3-8 17:12
标题: WMI高手请进
vbscript通过WMI的Win32_NTlogEvent获取事件日志的时间属性,显示为NULL的问题


代码如下:
strComputer = "."
strNamespace = "\root\cimv2"
strClass = "Win32_NTLogEvent"

Const wbemFlagReturnImmediately = &h10

Const wbemFlagForwardOnly = &h20

Set objSWbemServices = GetObject("winmgmts:\\" & strComputer & strNamespace)
Set colSWbemObjectSet = objSWbemServices.ExecQuery("SELECT * FROM Win32_NTLogEvent WHERE EventCode = '0' ", "WQL", wbemFlagReturnImmediately +wbemFlagForwardOnly)

For each SWbemobject in colSWbemObjectSet
        wscript.echo SWbemobject.data
Next

这段代码首先通过查询返回事件日志ID为0的所有事件,然后读取这些这些事件的时间属性(wscript.echo SWbemobject.data),即事件的Data属性,Data属性在WMI中的type为array of uint8。而运行这段代码后无法得到预期的结果,全部显示的都是NULL。请问各位高手,这里面涉及的格式转化问题该如何解决,原理又是什么了?
作者: wssgily    时间: 2007-3-8 17:28
楼上的推荐一些学习WMI的资料吧,我现在对这个东西一点也没有概念!
谢谢!
作者: tuchun81    时间: 2007-3-9 09:06
我是从网上找的啊,不过现在没了。你自己搜索一下
作者: patown    时间: 2007-3-21 16:10
标题: data的属性问题
data是一个数组,不能简单地echo。
这是这个类的定义,
class Win32_NTLogEvent
{
....
  uint8 Data[];
  uint16 EventCode;
....
};
具体看这个地址。
http://msdn2.microsoft.com/en-us/library/aa394226.aspx
作者: songfun    时间: 2007-3-22 14:11
wmi 其实很简单,最好的资料就是去微软的TechNet(技术中心),有专门的专题介绍。
脚本蝉。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2