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.