Windows ServerWindows Server 2008 R2Windows Server 2012 R2Windows Server 2016

Filtrer par OS vos GPO avec les filtres WMI

Lors de la création de stratégie de groupe, il peut être intéressant de filtrer la GPO seulement pour un type d’OS (cela évitera entre autres que d’exécuter des GPO sur un OS qui n’en a pas besoin) . C’est possible grâce aux filtres WMI. Ainsi vous pourrez filtrer par système d’exploitation, ou encore par type d’ordinateur (desktop ou laptop). L’intérêt peut être également d’éviter de créer trop d’OU (Unité d’Organisation).

Filtres WMI par OS

Pour filtrer par système d’exploitation, nous utiliserons le numéro de version. J’ai fait un article pour que vous puissiez récupérer facilement votre numéro de version ou numéro de build.

Dans le cas d’un serveur, vous pouvez également « jouer » avec la variable « ProductType » qui permet de différencier les serveurs contrôleurs de domaines de ceux qui ne le sont pas.

ProductType= »2″ pour les contrôleurs de domaine et ProductType= »3″ pour les autres.

Voici quelques exemples de filtres WMI pour les systèmes d’exploitation Windows (vous retrouverez quelques exemples pour chaque types d’OS : 64 bits, 32bits, ou les deux) :

Windows Clients :

Windows 7

select Version from Win32_OperatingSystem WHERE Version like “6.1%” AND ProductType=”1″ AND OSArchitecture = “64-bit”
select Version from Win32_OperatingSystem WHERE Version like “6.1%” AND ProductType=”1″ AND NOT OSArchitecture = “64-bit”
select Version from Win32_OperatingSystem WHERE Version like “6.1%” AND ProductType=”1″

Windows 8

select Version from Win32_OperatingSystem WHERE Version like “6.2%” AND ProductType=”1″ AND OSArchitecture = “64-bit”
select Version from Win32_OperatingSystem WHERE Version like “6.2%” AND ProductType=”1″ AND NOT OSArchitecture = “64-bit”
select Version from Win32_OperatingSystem WHERE Version like “6.2%” AND ProductType=”1″

Windows 8.1

select Version from Win32_OperatingSystem WHERE Version like “6.3%” AND ProductType=”1″ AND OSArchitecture = “64-bit”
select Version from Win32_OperatingSystem WHERE Version like “6.3%” AND ProductType=”1″ AND NOT OSArchitecture = “64-bit”
select Version from Win32_OperatingSystem WHERE Version like “6.3%” AND ProductType=”1″

Windows 7, 8 and 8.1 (all versions before 10)

select Version from Win32_OperatingSystem WHERE Version like “6.%” AND ProductType=”1″ AND OSArchitecture = “64-bit”
select Version from Win32_OperatingSystem WHERE Version like “6.%” AND ProductType=”1″ AND NOT OSArchitecture = “64-bit”
select Version from Win32_OperatingSystem WHERE Version like “6.%” AND ProductType=”1″

Windows 10 all builds

select Version from Win32_OperatingSystem WHERE Version like “10.%” AND ProductType=”1″ AND OSArchitecture = “64-bit”
select Version from Win32_OperatingSystem WHERE Version like “10.%” AND ProductType=”1″ AND NOT OSArchitecture = “64-bit”
select Version from Win32_OperatingSystem WHERE Version like “10.%” AND ProductType=”1″

Windows 10 1507

select Version from Win32_OperatingSystem WHERE Version like “10.0.10240” AND ProductType=”1″ AND OSArchitecture = “64-bit”
select Version from Win32_OperatingSystem WHERE Version like “10.0.10240” AND ProductType=”1″ AND NOT OSArchitecture = “64-bit”
select Version from Win32_OperatingSystem WHERE Version like “10.0.10240” AND ProductType=”1″

Windows 10 1511

select Version from Win32_OperatingSystem WHERE Version like “10.0.10586” AND ProductType=”1″ AND OSArchitecture = “64-bit”
select Version from Win32_OperatingSystem WHERE Version like “10.0.10586” AND ProductType=”1″ AND NOT OSArchitecture = “64-bit”
select Version from Win32_OperatingSystem WHERE Version like “10.0.10586” AND ProductType=”1″

Windows 10 1607

select Version from Win32_OperatingSystem WHERE Version like “10.0.14393” AND ProductType=”1″ AND OSArchitecture = “64-bit”
select Version from Win32_OperatingSystem WHERE Version like “10.0.14393” AND ProductType=”1″ AND NOT OSArchitecture = “64-bit”
select Version from Win32_OperatingSystem WHERE Version like “10.0.14393” AND ProductType=”1″

Windows Server :

Windows Server 2003 R2

select Version from Win32_OperatingSystem WHERE Version LIKE “5.2%”

Windows Server 2008

select Version from Win32_OperatingSystem WHERE Version LIKE “6.0%” AND ( ProductType = “2” or ProductType = “3” )

Windows Server 2008 R2

select Version from Win32_OperatingSystem WHERE Version LIKE “6.1%” AND ( ProductType = “2” or ProductType = “3” )

Windows Server  2012

select Version from Win32_OperatingSystem WHERE Version LIKE “6.2%” AND ( ProductType = “2” or ProductType = “3” )

Filtrer seulement les Windows Clients

select ProductType FROM Win32_OperatingSystem WHERE ProductType = “1”

Filtrer seulement les Windows Servers

select ProductType from Win32_OperatingSystem where (ProductType = « 2 ») OR (ProductType = « 3 »)

Comment mettre en place un filtre WMI sur une GPO ?

Depuis la console de stratégie de groupe du serveur (gpmc.msc), créer un nouveau filtre WMI depuis le dossier « WMI Filters« . Effectuez un clic droit, puis « Nouveau… »

new-wmi-filter

Ici, rentrer un nom qui colle bien à votre GPO, puis cliquer sur « Ajouter » pour ajouter votre requête WMI.

C’est ici que vous collez la requête WMI qui permettra d’effectuer le filtre.

wmi-filter-any-windows-os

Vous pouvez ensuite appliquer le filtre, toujours depuis la console de stratégie de groupe, en sélectionnant votre GPO, et en appliquant votre nouveau filtre.

wmi-filter-gpo

Enjoy.

Mikaël GUILLERM

Administrateur Système et Autoentrepreneur depuis 2009 pour la société zerobug. Je partage mes connaissances, problèmes et solutions à travers articles ou tweets !

Articles similaires

3 commentaires

    1. C’est vrai, c’est pourquoi il est conseillé de bien cibler la requête et d’éviter d’utiliser « select Version from * » par exemple.

      Utiliser le « joker » prends beaucoup plus de ressources.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bouton retour en haut de la page