Win32_OperatingSystem BuildNumber Not Working On Windows 10

WMI of Windows operating system stands Windows Management Instrumentation. It is nothing but a set of extensions to the Windows driver mode. The main function of WMI is to render interfaces through which instrumented components push notifications. It is the application of Web-Based Enterprise Management (WBEM) and Common Information Model (CIM) from the Distributed Management Task Force (DMTF). Very recently, many users are encountering an issue where the Win32_OperatingSystem BuildNumber is not working as they should be working normally. WMI comes pre-installed in Windows operating system since version 2000. As the Windows versions got newer and better, the WMI has also been replenished. It has a plethora of functionalities, such as, customizing settings, scheduling processes to run at certain times, changing permissions for authorized users and user groups, assigning and altering drive labels, backing up the object repository, and enabling or disabling error logging.

So now, what is the problem with the WMI Group Filter? Suppose, you want your Windows OS group policy to run for your Windows PC (version 8.1 and later). You are about to use a WMI Group Policy filter Win32_OperatingSystem BuildNumber for accomplishing the filtering function. Thus, create the following Windows Management Instrumentation (WMI) filter:

“Select BuildNumber from Win32_OperatingSystem WHERE BuildNumber >= 9200 “

Check out the following table to learn about the required version and the corresponding Build Number.

9200 Windows 8
9600 Windows 8.1
10240 Windows 10
10586 Windows 10, version 1511
14393 Windows 10, version 1607
15063 Windows 10, version 1703
16299 Windows 10, version 1709
17134 Windows 10, version 1803
17763 Windows 10, version 1809
18362 Windows 10, version 1903

Why Is It Happening?

The issue is that, Windows 10 Builds are not included in the filter list, although you want the WMI filter to cause the Group Policy setting to apply to build number 9200 and later. The main reason behind the problem is that the BuildNumber is a string datatype and not an integer value. Hence, they are considering 10*** < 9600.

How To Solve The Issue?

To resolve this issue, use a filter that resembles the following example:

Select BuildNumber from Win32_OperatingSystem WHERE BuildNumber >= 10000 AND BuildNumber LIKE “%[123456789][0123456789][0123456789][0123456789][0123456789]%” OR BuildNumber >= 9200 AND BuildNumber LIKE “%[123456789][0123456789][0123456789][0123456789]%”

Thanks to TheWindowsClub for the tip!


Happiness is that best therapy. Use it to heal yourself and then others!


Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.