最近忙晕了,抓紧时间把学习笔记写出来:
WMI实在是很强大,通过它可以查看到很多信息,我最近做的东西需要得到系统安装的杀毒软件信息,实现的方法是这样的。
新建一个VBscript 脚本文件,文件扩展名为vbs,输入如下信息
strComputer = "."
Set Security = Getobject("winmgmts:\\" & strComputer & "\root\SecurityCenter")
Set Viruses = Security.InstancesOf("AntiVirusProduct")
For Each Virus In Viruses
WScript.Echo Virus.displayName
next
双击打开就可以看到杀毒软件的名字了,如果需要其他的属性,则需要更改属性名字,可以这样查看:
开始-运行-cmd-回车-wbemtest-连接-输入root\SecurityCenter-回车-枚举类别-递归-确定-双击AntiVirusProduct就可以看到杀毒软件的所有属性了。
在windows2003下没有这个命名空间......所以获取不到啊!
@STofBJ 不知道是不是2003没有提供这个功能
@老杨 恩,可能,我在ScriptomaticV2.hta中没有找到......
如果没有这种功能还有其它方法可以获取到么,(除了枚举进程,建立杀软病毒库)
谢谢,杨老师
@STofBJ 我不确定,你再查找一下其他资料吧,其他的方法我没有尝试过
@STofBJ 哦,谢谢!!
你说的这个问题我是知道的,这个vb脚本和vb是不同的,我曾经用c#写过同样的功能代码,和这个代码完全不同,我忘记了是如何写的,如果我以后找到再告诉你吧,关键是vb我从来没有写过,所以不是很清楚。
到不是引号的问题。
在vb里试了一下,root\SecurityCenter总是无效的命名空间,下了个wmisdk.exe查了一下,也没有这个值。用了wbemtest命令也是不对的。但奇怪的是查到的资料都显示是这种方法。
btw:网站很有特色,收藏之~
不好意思,因为博客编码问题,这里所有的引号都应该是英文字符的引号,我这里因为编码是中文字符的,所以出现错误了,我更正一下,你用的时候修改引号就可以了。对你造成的不便还请谅解!
楼主,试了不行啊