Windows 10 Create a WMI Filter for Group Policy

KB ID 0001267 

Problem

I was messing around with some GPO’s for  client today to replace ‘Edge’ as the default browser, (with IE11). To make the whole process more efficient, I wanted to use a WMI filter toapply the policy only to Windows 10 machines. Before this used to be simple enough, you just set the Windows version in a WMI query. But because it searches for a string e.g. 6.1 (for Windows 8.1), that’s great, and Windows 10 is version 10, so that should be simple yes? Well no, because it’s a string WMI sees the 1 at the beginning, and thinks its lower than 6.1 ‘duh’. You can get around this will a small modification on the search string.

Solution

In the Group Policy Management Console > Forest  > Domains > {domain-name} > WMI Objects > New > Call it Windows 10  >  Set the parameters as below;

Namespace: root\CIMv2

Query: select * from Win32_OperatingSystem where Version like “10.%” and ProductType=”1″

Note: If you don’t set the ProductType, it will apply to Server 2016 as well.

Copy/Paste Syntax Error: WordPress has a habit of changing the quotes in that command, (above). After pasting it, delete and retype the quotes if you get any syntax errors.

When you click Save don’t worry if you get an error;

Either the namespace entered is not a valid namespace on the local computer or you do not have access to this namespace on this computer. It is possible this is a valid namespace on the remote computer(s). If you wish to use this namespace, press OK. Press cancel to choose another namespace.

I ignored the error above, and it worked fine.

You can now change the policy that you want only to apply to Windows 10, and apply the WMI filter.

How to See If it will work: From within the GPMC console, you can run a group policy results session, to make sure the WMI filter applies as expected.

Related Articles, References, Credits, or External Links

Using 32 and 64 Bit WMI Filters For Group Policy