文章关键字 ‘WMI’

用VBS判断操作系统是32位(x86)还是64位(x64)

2011年11月12日,星期六

突然想到这个问题,虽然不知道为什么要用 VBS 判断当前系统是32位还是64位,但是也许以后会用到也说不定。用到 WMI 的 Win32_ComputerSystem 类的 SystemType 属性。

(更多…)

利用WMI打造完美“三无”后门(序章)

2011年05月19日,星期四

Welcome!各位ScriptKid,欢迎来到脚本世界。从今天开始小弟我会连载这篇《利用WMI打造完美“三无”后门》。

序章

(更多…)

VBS调用WMI获取CPU使用率

2011年05月18日,星期三

Google关键词“WMI CPU使用率”,得到的全是《python使用WMI监视系统-CPU使用率》,不用看,肯定又是采集的。

Python固然强大,但是调用WMI还是用VBS比较“正宗”。

(更多…)

VBS调用WMI监视注册表变动

2011年05月11日,星期三

似乎有人觉得用VBS监视注册表很高级?使用了WMI事件而已,跟《用VBS监视进程创建和删除》一样。Google一下“VBS监视注册表”,TOP 5都是一模一样的代码,我查了一下,出处是Hey, Scripting Guy! Blog上一篇名为《How Can I Monitor Changes to a Registry Key?》的文章,真是厚颜无耻。

(更多…)

用VBS监视进程创建和删除

2011年01月27日,星期四

微软脚本中心里的例子,用到了WMI事件,抄下来备查。

监视进程的创建,在每次创建新的进程时,临时事件消费程序都发出警报。

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colMonitoredProcesses = objWMIService. _
    ExecNotificationQuery("select * from __instancecreationevent " _
        & " within 1 where TargetInstance isa 'Win32_Process'")
i = 0
Do While i = 0
    Set objLatestProcess = colMonitoredProcesses.NextEvent
    Wscript.Echo objLatestProcess.TargetInstance.Name
Loop

监视进程的删除,在每次进程终止时,临时事件消费程序都发出警报。

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colMonitoredProcesses = objWMIService. _
    ExecNotificationQuery("select * from __instancedeletionevent " _
            & "within 1 where TargetInstance isa 'Win32_Process'")
i = 0
Do While i = 0
    Set objLatestProcess = colMonitoredProcesses.NextEvent
    Wscript.Echo objLatestProcess.TargetInstance.Name
Loop

参考链接:

  1. 监视进程的创建
  2. 监视进程的删除