51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2387|回复: 4
打印 上一主题 下一主题

[原创] WMI高手请进

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-3-8 17:12:44 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
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。请问各位高手,这里面涉及的格式转化问题该如何解决,原理又是什么了?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

5#
发表于 2007-3-22 14:11:07 | 只看该作者
wmi 其实很简单,最好的资料就是去微软的TechNet(技术中心),有专门的专题介绍。
脚本蝉。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-3-21 16:10:53 | 只看该作者

data的属性问题

data是一个数组,不能简单地echo。
这是这个类的定义,
class Win32_NTLogEvent
{
....
  uint8 Data[];
  uint16 EventCode;
....
};
具体看这个地址。
http://msdn2.microsoft.com/en-us/library/aa394226.aspx
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-3-9 09:06:50 | 只看该作者
我是从网上找的啊,不过现在没了。你自己搜索一下
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2007-3-8 17:28:02 | 只看该作者
楼上的推荐一些学习WMI的资料吧,我现在对这个东西一点也没有概念!
谢谢!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-9 09:32 , Processed in 0.066407 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表