Ever since I first started playing with WMI, I've been meaning to delve into it more. It seems like a very handy interface for manipulating and querying Windows machines.
I just ran across the WMI Code Creator tool from Microsoft. This fellow will generate example code in C#/VB.NET/VBScript for all sorts of WMI tasks. It really demonstrates how easy it is to do powerful things with WMI. For instance, it takes only a click or two to create a VBScript that gets notified whenever a process is invoked. Here's code of a VBScript it generated for me:
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set objEvents = objWMIService.ExecNotificationQuery _
("SELECT * FROM Win32_ProcessStartTrace WHERE ProcessName = 'notepad.exe'")
Wscript.Echo "Waiting for events ..."
Do While(True)
Set objReceivedEvent = objEvents.NextEvent
'report an event
Wscript.Echo "Win32_ProcessStartTrace event has occurred."
Loop
This snippet will display "Win32_ProcessStartTrace event has occurred." whenever notepad.exe is invoked. This is only a small example of the easy demos you can put together with their code creator tool.

Leave a Reply