I recently ran into a GPO problem. My customer wanted to delegate different group policy settings on clients within a specific OU. The OU contained numerous versions of Windows and all versions had different, OS version specific, settings.

I suggested that they should set up a specific GPO per OS and take advantage of the WMI Filtering-function in GPO (this could also be achieved with Group Policy Preferences if preferred).

For example a WMI filter for Windows 7 would be:

select * from Win32_OperatingSystem where Version like "6.1%" and ProductType="1"

The different OS verions can be found below.

Windows Workstation

Operating system Version number
Windows 10 10.0*
Windows 8.1 6.3*
Windows 8 6.2
Windows 7 6.1
Windows Vista 6.0
Windows XP (64-Bit) 5.2
Windows XP 5.1
Windows 2000 5.0

Windows Server

Operating system Version number
Windows Server 2016 10.0*
Windows Server 2012 R2 6.3*
Windows Server 2012 6.2
Windows Server 2008 R2 6.1
Windows Server 2008 6.0
Windows Server 2003 R2 5.2
Windows Server 2003 5.2
Windows 2000 5.0

* For applications that have been manifested for Windows 8.1 or Windows 10. Applications not manifested for Windows 8.1 or Windows 10 will return the Windows 8 OS version value (6.2). To manifest your applications for Windows 8.1 or Windows 10, refer to Targeting your application for Windows.

Microsoft source: http://msdn.microsoft.com/en-us/library/windows/desktop/ms724832.aspx