La version "10.0.10586" de Windows est-elle supérieure à la version "6.3.9600" ?

Comme souvent, la réponse dépend du référéntiel utilisé.

D'un point du système d'exploitation, la réponse est oui :  Windows 10 apporte et améliore de nombreuses fonctionnalités par rapport à Windows 8.1.

Du point de vue du champ Version de la classe WMI Win32_OperatingSystem, la réponse est différente. En effet ce champ est de type "string". Donc "10.0.10586" est inférieure à "6.3.9600" car le caractère "1" précède le caractère "6" dans la table Unicode.

Ceci peut avoir de nombreuses conséquences dans de nombreux environnements où des GPOs ne sont appliquées que pour des versions récentes de Windows. Une pratique répandue est alors de créer un filtre WMI avec la classe Win32_OperatingSystem.

Par exemple, le filtre select Version from Win32_OperatingSystem where Version >= "6.%" permettait de n'appliquer la GPO que pour les versions  >= Windows 7. Malheureusement, cette GPO ne s'appliquera pas sur les stations Windows 10 !

Si vous êtes dans ce cas, il faudra alors  modifier vos filtres avec des requêtes du type : select Version from Win32_OperatingSystem where Version like "[12][0-9]%" or Version >= "6.%"