Here is how to catch different Windows 10 OS release within WMI for GPO targeting
We used this the first time during a 1709 > 1909 Migration where we wanted to push customer startlayout.xml (Different new syntax and command for W10 1909)
with GPO ONLY to the 1909 clients. SBS/KMU seamless upgrades but often forget to handle GPO Policy side during the upgrade process. If you wan to modify
The start layout/start menu tiles this is often the first place you will need the WMI filters.
To effectively target various Windows 10 OS releases using WMI, we employed this method during a migration from 1709 to 1909. Our goal was to deploy a customized `startlayout.xml` specific to Windows 10 1909 due to its unique syntax and command requirements.
This approach proved particularly valuable in scenarios like Small Business Server (SBS) or Small to Medium-sized Enterprises (SMEs), where seamless upgrades are common but the management of Group Policy Object (GPO) policies is sometimes overlooked during the upgrade process. When you need to modify the start layout or start menu tiles, leveraging WMI filters becomes a pivotal step, especially when tailoring these changes exclusively to specific Windows 10 versions like 1909.
W10 Version Info:
+-------+-------+---------+-------+---------------------+---------------+ | Major | Minor | Version | Build | Info | Released | +-------+-------+---------+-------+---------------------+---------------+ | 10 | 0 | 1607 | 14393 | 2016 RTM LTSC | 09/26/2016 | | 10 | 0 | 1709 | 16299 | 2016 SAC | 10/17/2017 | | 10 | 0 | 1803 | 17134 | 2016 SAC | 04/30/2018 | | 10 | 0 | 1809 | 17763 | 2019 LTSC | 11/13/2018 | | 10 | 0 | 1903 | 18362 | 2019 SAC | 05/21/2019 | | 10 | 0 | 1909 | 18363 | 2019 SAC | 11/12/2019 | | 10 | 0 | 2004 | 19041 | 2020 SAC | 05/27/2020 | | 10 | 0 | 20H2 | 19042 | 2020 SAC | 10/20/2020 | | 10 | 0 | 21H1 | 19043 | 2021 SAC | 05/18/2021 | | 10 | 0 | 21H2 | 19044 | 2021 SAC | Expected 2021 | | 10 | 0 | 22H1 | 19045 | 2021 SAC (Estimate)| Expected 2022 | | 10 | 0 | 22H2 | 19046 | 2021 SAC (Estimate)| Expected 2022 | +-------+-------+---------+-------+---------------------+---------------+
WMI Query to check which version you run of Windows 10.
NAMEPSPACE: Root\CIMv2
W10 1607:
SELECT * FROM Win32_OperatingSystem where version like ‘10%’ and producttype=’1′ and BuildNumber = “14393”
W10 1709:
SELECT * FROM Win32_OperatingSystem where version like ‘10%’ and producttype=’1′ and BuildNumber = “16299”
W10 1803:
SELECT * FROM Win32_OperatingSystem where version like ‘10%’ and producttype=’1′ and BuildNumber = “17134”
W10 1809:
SELECT * FROM Win32_OperatingSystem where version like ‘10%’ and producttype=’1′ and BuildNumber = “17763”
W10 1903:
SELECT * FROM Win32_OperatingSystem where version like ‘10%’ and producttype=’1′ and BuildNumber = “18362”
W10 1909:
SELECT * FROM Win32_OperatingSystem where version like ‘10%’ and producttype=’1′ and BuildNumber = “18363”
Windows 10 Version 2004 (20H1)
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10%’ AND ProductType = ‘1’ AND BuildNumber = “19041”
Windows 10 Version 20H2
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10%’ AND ProductType = ‘1’ AND BuildNumber = “19042”
Windows 10 Version 21H1
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10%’ AND ProductType = ‘1’ AND BuildNumber = “19043”
Windows 10 Version 21H2
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10%’ AND ProductType = ‘1’ AND BuildNumber = “19044”
Windows 10 Version 22H1 (Estimate)
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10%’ AND ProductType = ‘1’ AND BuildNumber = “19045”
Windows 10 Version 22H2 (Estimate)
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10%’ AND ProductType = ‘1’ AND BuildNumber = “19046”
To check exact BUILD numbers:
— Windows 10 Version 19045.3570
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10.0.19045.3570’ AND ProductType = ‘1’
— Windows 10 Version 19045.3516
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10.0.19045.3516’ AND ProductType = ‘1’
— Windows 10 Version 19045.3448
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10.0.19045.3448’ AND ProductType = ‘1’
— Windows 10 Version 19045.3393
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10.0.19045.3393’ AND ProductType = ‘1’
— Windows 10 Version 19045.3324
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10.0.19045.3324’ AND ProductType = ‘1’
— Windows 10 Version 19045.3271
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10.0.19045.3271’ AND ProductType = ‘1’
— Windows 10 Version 19045.3208
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10.0.19045.3208’ AND ProductType = ‘1’
— Windows 10 Version 19045.3155
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10.0.19045.3155’ AND ProductType = ‘1’
— Windows 10 Version 19045.3086
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10.0.19045.3086’ AND ProductType = ‘1’
— Windows 10 Version 19045.3031
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10.0.19045.3031’ AND ProductType = ‘1’
— Windows 10 Version 19045.2965
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10.0.19045.2965’ AND ProductType = ‘1’
— Windows 10 Version 19045.2913
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10.0.19045.2913’ AND ProductType = ‘1’
— Windows 10 Version 19045.2846
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10.0.19045.2846’ AND ProductType = ‘1’
— Windows 10 Version 19045.2788
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10.0.19045.2788’ AND ProductType = ‘1’
— Windows 10 Version 19045.2728
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10.0.19045.2728’ AND ProductType = ‘1’
— Windows 10 Version 19045.2673
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10.0.19045.2673’ AND ProductType = ‘1’
— Windows 10 Version 19045.2604
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10.0.19045.2604’ AND ProductType = ‘1’
— Windows 10 Version 19045.2546
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10.0.19045.2546’ AND ProductType = ‘1’
— Windows 10 Version 19045.2486
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10.0.19045.2486’ AND ProductType = ‘1’
— Windows 10 Version 19045.2364
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10.0.19045.2364’ AND ProductType = ‘1’
— Windows 10 Version 19045.2311
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10.0.19045.2311’ AND ProductType = ‘1’
— Windows 10 Version 19045.2251
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10.0.19045.2251’ AND ProductType = ‘1’
— Windows 10 Version 19045.2130
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ‘10.0.19045.2130’ AND ProductType = ‘1’
https://learn.microsoft.com/en-us/windows/release-health/release-information
https://docs.microsoft.com/en-us/windows/win32/wmisdk/wql-sql-for-wmi
GPO WMI FILTER
Based on above info from us you can build the GPO filter for each W10 version.
Example: Use the Paessler WMI tester to check
If the query was successful then you get FEEDBACK from the Query (if not it would be empty)
Please also check these WMI related links from us:
W10: Enable Remote Management for WMI from Commandline silent
How to identify WSUS/Windows Patches installed on a W7 in Batch with WMI
Script: WMI Fetch modell BIOS Version with VB OR PS like SM_info from Dell
IE11 GPO Settings, PROXY Explained F5-F8, Proxy settings still used in 2023 by system account