GPO – Utilizzo dei filtri WMI per filtrare l'applicazione dei criteri di gruppo

In questo tutorial vi spiegherò come creare e utilizzare i filtri WMI delle politiche di gruppo per filtrare l’applicazione delle politiche di gruppo.

Prima di iniziare con la parte “tecnica”, in cui vedremo come configurare e utilizzare un filtro WMI su una politica di gruppo, partirò da un esempio per illustrarvi i vantaggi dell’utilizzo di un filtro WMI.

Perché utilizzare i filtri WMI

Per illustrare questo tutorial, partiremo dalla seguente situazione: dobbiamo applicare una politica di gruppo solo ai computer che utilizzano Windows 7.

Come si può vedere nelle schermate qui sotto, la versione del sistema operativo è indicata nella descrizione.

Per risolvere il nostro problema, abbiamo diverse soluzioni:

  • Creare un gruppo (Computer_W7), aggiungere i computer a questo gruppo e applicare il criterio al gruppo
  • Nelle unità organizzative (OU), creare nuove sotto-OU in base alla versione del sistema operativo e associare la politica alle unità organizzative

Come avrete sicuramente capito, esistono diverse soluzioni per ottenere lo “stesso” risultato; in questa sede vedremo come risolvere questo problema utilizzando un filtro WMI, che ci consentirà di:

  • Disporre di una soluzione dinamica: se il computer viene aggiornato a Windows 10/11, la politica di gruppo non verrà più applicata senza alcun intervento da parte nostra
  • Non dover modificare la struttura delle unità organizzative
  • Non creare gruppi aggiuntivi

Che cos’è il WMI?

Questa sezione è solo una sintesi per farvi capire cos’è il WMI.

WMI è l’acronimo di: Windows Management Instrumentation, basato sullo standard WBEM (Web-Based Enterprise Management), che consente, tramite query (molto simili a quelle SQL), di recuperare informazioni sul sistema quali i componenti hardware, informazioni sul sistema operativo…

WMI può essere utilizzato:

  • Con i criteri di gruppo
  • PowerShell con il cmdlet Get-WmiObject
  • VBS
  • ….

Ecco un esempio di query WMI:

select name,version,producttype from Win32_OperatingSystem

Il risultato in PowerShell è il seguente:

Get-WmiObject -query "select name,version,producttype from Win32_OperatingSystem"
WMI Query

Ora che disponete delle informazioni necessarie per comprendere al meglio questo tutorial, è il momento di passare alla pratica.

La query WMI

Prima di creare il nostro filtro WMI, vediamo innanzitutto la query che andremo a creare.

Quello che vogliamo fare è filtrare in base alla versione del nostro sistema operativo; questa informazione si trova nella classe (tabella) Win32_OperatingSysteme cercheremo il valore (campo) Version.

Il che ci dà, per il momento:

Select * FROM Win32_OperatingSystem WHERE version = X.Y

Per trovare le versioni di Windows, è necessario cercare su Internet, poiché queste cambiano regolarmente.

Al momento della stesura di questo tutorial, ecco cosa posso fornirvi:

Versione di WindowsNumero di versione
Windows XP (32)5.1
Windows XP (64)5.2
Windows Server 2003 R25.2
Windows Vista6.0
Windows Server 20086.0
Windows 76.1
Windows Server 2008 R26.1
Windows 86.2
Windows Server 20126.2
Windows 8.16.3
Windows Server 2012 R26.3
Windows 10 (1607)10.0.14393
Windows 10 (1809)10.0.17763
Windows 10 (1909)10.0.18363
Windows 10 (2004)10.0.19041
Windows 10 (20H2)10.0.19042
Windows 10 (21H1)10.0.19043
Windows 11 (21H2)10.0.22000
Windows Server 2016 (1607)10.0.14393
Windows Server 2019 (1809)10.0.17763
Windows Server 2022 (21H2)10.0.20348

Ora che abbiamo le versioni di Windows, torniamo alla nostra query WMI. Se ci basiamo sulla tabella, la versione di Windows 7 è 6.1

Il che ci permette di filtrare i computer con Windows 7:

Select * FROM Win32_OperatingSystem WHERE version = 6.1

In pratica useremo questa query:

SELECT * FROM Win32_OperatingSystem WHERE Version LIKE "6.1%"

L’uso di LIKE selezionerà tutte le versioni di Windows che iniziano con 6.1, il che significa che se la versione completa di Windows è 6.1.XYZ, verrà convalidata dalla query WMI.

Normalmente qualcosa dovrebbe destare perplessità: nella tabella si può notare che le versioni “desktop” e “server” di Windows condividono lo stesso numero di versione; pertanto, se si utilizza la query, si applicherà la politica di gruppo anche ai computer con Windows Server 2008 R2. È necessario aggiungere un parametro alla query per specificare che si desidera solo la versione “Desktop”; a tal fine, aggiungeremo un filtro sul parametro ProductTypee specificheremo che deve essere uguale a 1 per escludere le versioni server.

Il risultato è:

SELECT * FROM Win32_OperatingSystem WHERE Version LIKE "6.1%" AND ProductType="1"
ProductType valoreSelezione
1Versione Desktop / Client
2Server Controller di dominio
3Server

Ora che abbiamo visto la query, vedremo come utilizzarla con i filtri WMI.

Creare un filtro WMI e utilizzarlo

Aggiungere un filtro WMI

1. Aprire la console Gestione criteri di gruppo.

2. Fare clic sulla cartella Filtri WMI 1 che si trova nella struttura ad albero sulla parte destra.

3. In questa posizione si trovano tutti i filtri WMI che sono stati inseriti; un filtro WMI può essere utilizzato su più criteri di gruppo.

Quando un filtro WMI viene aggiunto a un criterio di gruppo, viene applicato a tutti i collegamenti.

4. Per creare un nuovo filtro, fare clic con il tasto destro nell’area centrale e selezionare Nuovo 1.

5. Assegnare un nome al filtro WMI 1, quindi fare clic sul pulsante Aggiungi 2.

6. Per impostazione predefinita, lo spazio dei nomi selezionato è , cheroot\CIMv2, è quello che si desidera utilizzare. Nell’area query 1, inserire la query WMI che si desidera applicare e fare clic su OK 2.

7. Si può notare che la query è stata aggiunta 1; fare clic sul pulsante Salva 2 per salvare il filtro.

8. Il filtro WMI viene aggiunto all’elenco.

Aggiungere un filtro a un criterio di gruppo

1. Fare clic sul criterio di gruppo (o sul collegamento) a cui si desidera applicare un filtro, accedendo alla scheda Ambito 1.

2. Nella sezione Filtraggio WMI 1, selezionare il filtro dall’elenco a discesa 2.

3. Viene visualizzato un messaggio di conferma; fare clic sul pulsante «Sì» 1 per confermare l’applicazione del filtro.

4. Una volta confermata l’operazione, è possibile vedere che il filtro WMI è selezionato.

Ora sapete come applicare un filtro WMI a un criterio di gruppo.

Alcune query utili

Ecco alcuni esempi di query WMI che potreste utilizzare:

Tutti i computer Windows 10 e 11:

SELECT * FROM Win32_OperatingSystem WHERE Version LIKE "10.0%" AND ProductType="1"

Tutti i computer/server il cui nome inizia con XXYY-

SELECT Name FROM Win32_ComputerSystem WHERE Name LIKE "XXYY-%"

Tutti i server Windows:

SELECT ProductType FROM Win32_OperatingSystem WHERE (ProductType = "2") OR (ProductType = "3")

Editor di destinazione

È inoltre possibile utilizzare query WMI in alcuni parametri dei criteri di gruppo che consentono il targeting a livello di elemento.

Nell’editor di destinazione non è possibile selezionare un filtro WMI.


I filtri WMI sono strumenti potenti che consentono di applicare facilmente una politica di gruppo in base alle impostazioni dei computer senza dover creare gruppi o modificare le unità organizzative (OU) e, inoltre, sono dinamici.

Romain Drouche
Romain Drouche
Architetto di sistema | MCSE: Infrastruttura di base
Esperto di infrastrutture IT con oltre 15 anni di esperienza sul campo. Attualmente Project Manager Sistemi e Reti ed esperto di Sicurezza dei Sistemi Informativi (ISS), utilizzo la mia competenza per garantire l'affidabilità e la sicurezza degli ambienti tecnologici.

Lascia un commento