Adding Custom Queries
GPInventory is pretty cool and powerful in its default state, but you can customize the available queries to further leverage this great utility. The editable list of query definitions is presented as a list of XML nodes in the wmiqueries.xml file. If you open the wmiqueries.xml file in your editor of choice, you’ll see the list of queries that GPInventory can run. For example, the default query to display the computer manufacturer is
“WMI: Computer Manufacturer”
Query=”select Manufacturer
from Win32_
ComputerSystem”/>
(entered all on one line). As you can see, the construction is fairly simple and quite readable by humans. The value following ManagedObjectName= is what will show up as a query type in GPInventory’s Information window, and the statement following Query= is the actual WMI Query Language (WQL) statement that “asks” clients for specific information.
To add your own custom queries or modify the default queries, you need only a little knowledge about WMI classes and a text editor. To create a custom query that returns information from only Dell systems, I copied the original computer manufacturer XML node, pasted it on a new line, and added a simple where clause. Here’s how the new node looks:
“WMI: Custom -
Manufacturer is Dell”
Query=”select Manufacturer
from Win32_ComputerSystem"/>
where Manufacturer
Like ‘%Dell%’” />
Figure 2 shows the new node at the bottom of GPInventory’s Information window. This example is pretty simple, but it illustrates GPInventory’s straightforward and flexible nature. A simple node like this can also be added to your wmiqueries.xml file and run to check the validity of a WMI query before you use it to target a GPO to a specific group of clients.
If you're already used to WMI scripting, you're poised to make GPInventory jump through hoops for you. If you need a little more background on coaxing the goods from WMI, check out the resources in the Learning Path box.
To understand the where clause and operators, including the like operator, or to pinpoint system characteristics by using WQL, go to the first Web site in the Learning Path box. The WMI Administrative Tools download (at the second Web site) includes some great tools, including WMI CIM Studio and WMI Object Browser, for learning more about how WMI works. Finally, Scriptomatic (at the third Web site) is a great way to get your feet wet writing WMI scripts and to familiarize yourself with the constructs of WQL.
As provided, GPInventory is an effective utility for monitoring application of GPOs in your environment. If you add even the slightest bit of creativity, you'll find more and more uses for this great little tool.
End of Article