Problem: You want a certain GPO to be processed by targeted computers only when the the version of Internet Explorer installed on those computers is 8.0 or higher. To do this, you create the following WMI filter:
SELECT * FROM CIM_DataFile WHERE Filename = 'iexplore' AND version > '7.0'
However, when you test this filter it never gets applied. What's wrong?
Resolution: When you use WMI filtering to filter GPOs for installed products or datafiles, and you don't specify the path of the executable, processing of the filter can take longer than the default WMI filtering timeout in Windows 7 (which is 30 seconds). As a result, the WMI filter may bever be applied.
One way of trying to resolve this issue is to explicitely use the path to the executable you are filtering for. For example:
SELECT version FROM CIM_DataFile WHERE path='\\Program Files\\Internet Explorer\\' AND filename='iexplore' AND extension='exe' AND version>'8.0'
You should of course test this filter to make sure it doesn't still time out.
An even better way of dealing with such situations is to create a custom registry key or environment variable when you deploy an application like Internet Explorer 9 to computers. You can then create a WMI filter that tests for the presence of this registry key or environment variable, and such filtering processes much faster than using WMI to query the CIM database.
Mitch Tulloch is an eight-time recipient of the Microsoft Most Valuable Professional (MVP) award and a widely recognized expert on Windows administration, deployment and virtualization. For more information about him, see http://www.mtit.com