Assignment Filters con operatingSystemVersion in Microsoft Intune
Introduzione
Eccoci di nuovo a parlare di un argomento interessante! Con la service release 2608 di Microsoft Intune, distribuita a partire dalla settimana del 25 agosto 2026, la proprietà operatingSystemVersion degli Assignment Filters è diventata Generally Available per Managed devices e Managed apps. La proprietà consente di includere la versione del sistema operativo nella logica di targeting di app e policy, con la possibilità di lavorare su una versione specifica oppure su un intervallo di build.
Per chi gestisce dispositivi Windows il caso d’uso è semplice da raccontare! Inaftti una configurazione può essere assegnata a un gruppo esistente e applicata soltanto ai dispositivi che hanno già raggiunto una determinata build, oppure esclusa temporaneamente dai client che devono ancora completare un aggiornamento. La stessa logica può essere utilizzata su altre piattaforme supportate senza dover costruire un gruppo dedicato ogni volta che la condizione riguarda esclusivamente l’applicabilità di una configurazione Intune.
La novità è particolarmente interessante perché operatingSystemVersion tratta il valore come una versione, consentendo confronti con operatori come -gt, -ge, -lt e -le e diventa quindi possibile esprimere una soglia minima oppure delimitare un intervallo, cosa che con la precedente proprietà osVersion risultava meno naturale perché il valore veniva gestito come stringa.
Cosa cambia con operatingSystemVersion in Intune 2608
Come ormai è noto, gli Assignment Filters di Microsoft Intune permettono di restringere il perimetro di un’assegnazione utilizzando proprietà del dispositivo o dell’app. Il meccanismo resta quello già disponibile, quindi l’applicazione o la policy viene assegnata a un gruppo di utenti o dispositivi e il filtro interviene successivamente per stabilire quali elementi all’interno di quel target debbano effettivamente ricevere la configurazione.
Con la release 2608 cambia lo stato di operatingSystemVersion, ora disponibile in General Availability sia per i filtri Managed devices sia per i filtri Managed apps. La regola può essere costruita attraverso il rule builder oppure direttamente nel campo Rule syntax, mantenendo quindi lo stesso modello amministrativo degli altri Assignment Filters. Per questa proprietà, come accennato nell’introduzione, sono documentati gli operatori -eq, -ne, -gt, -ge, -lt e -le. Sono proprio gli ultimi quattro a rendere interessante il nuovo approccio, perché consentono di confrontare correttamente valori di versione senza ricorrere a verifiche parziali sulla stringa.
La deprecazione di osVersion non richiede quindi una migrazione immediata dei filtri esistenti, è però opportuno utilizzare operatingSystemVersion per le nuove configurazioni e valutare con calma l’eventuale sostituzione delle regole precedenti quando si interviene sul relativo modello di targeting. Trovate maggiori informazioni alla pagina ufficiale Microsoft App and device properties, operators, and rule editing when creating assignment filters in Microsoft Intune aggiornata al 21 agosto 2026, che conferma sia la deprecazione sia la continuità operativa dei filtri già esistenti.

Differenze tra operatingSystemVersion e osVersion
Ma quali sono le differenze tra operatingSystemVersion e osVersion? Le due proprietà possono sembrare simili per nome, ma il comportamento delle regole è differente. Infatti, operatingSystemVersion è una proprietà di tipo versione, mentre osVersion utilizzava confronti tipici delle stringhe, come startsWith, contains, in e notIn. Questa differenza diventa molto evidente quando l’obiettivo è identificare tutti i dispositivi con una versione uguale o successiva a una determinata build. Con osVersion era necessario costruire la condizione partendo dal contenuto testuale del valore, mentre con operatingSystemVersion la relazione tra le versioni entra direttamente nella valutazione della regola.
Caratteristica | operatingSystemVersion | osVersion |
|---|---|---|
Stato | General Availability dalla service release 2608 | Deprecata per i nuovi filtri |
Tipo di confronto | Versione | Stringa |
Operatori | -eq, -ne, -gt, -ge, -lt, -le | -eq, -ne, -in, -notIn, -startsWith, -contains, -notContains |
Confronto con una soglia | Sì | Non disponibile come confronto numerico/versione |
Intervalli di build | Sì | Richiedono logiche basate sulla stringa |
Filtri esistenti | Supportati | Continuano a funzionare |
Nuovi filtri | Da utilizzare | Non possono più essere creati |
Filtrare dispositivi Windows in base alla build
Prendiamo come esempio un ambiente Windows nel quale una nuova configurazione debba essere applicata soltanto ai dispositivi che hanno raggiunto almeno la build 10.0.26100.0. Il filtro può utilizzare una singola soglia:
(device.operatingSystemVersion -ge 10.0.26100.0)
Con questa espressione vengono considerati i dispositivi la cui versione riportata a Intune è uguale o superiore a 10.0.26100.0. Il criterio non è legato alla singola revisione cumulativa, quindi una macchina con una build successiva continua a soddisfare la regola.
Quando interessa delimitare un ramo preciso, è possibile combinare due condizioni. Windows 11 versione 24H2 utilizza il ramo 26100, mentre 25H2 utilizza il ramo 26200; per selezionare il ramo 26100 senza includere quello successivo si può quindi utilizzare:
(device.operatingSystemVersion -ge 10.0.26100.0) and (device.operatingSystemVersion -lt 10.0.26200.0)
Il filtro comprende tutte le revisioni del ramo 26100 che rispettano l’intervallo e smette di corrispondere quando il dispositivo passa a una build 26200.x. I numeri di ramo 26100 e 26200 corrispondono rispettivamente a Windows 11 24H2 e Windows 11 25H2 nella documentazione di Windows Release Health.
L’esempio non trasforma il filtro in uno strumento di gestione degli aggiornamenti. operatingSystemVersion non installa Feature Update o Quality Update, non determina la versione target di Windows e non sostituisce Windows Update for Business o Windows Autopatch. Il filtro utilizza semplicemente la versione riportata dal dispositivo per decidere se un’app o una policy già assegnata debba risultare applicabile.
Managed devices e Managed apps
La proprietà operatingSystemVersion è disponibile nei due modelli di Assignment Filters, ma cambia l’oggetto valutato. Nei Managed devices la sintassi utilizza device.operatingSystemVersion, mentre per i Managed apps viene utilizzato app.operatingSystemVersion.
Tipo di filtro | Piattaforme documentate per operatingSystemVersion | Sintassi |
|---|---|---|
Managed devices | Android Device Administrator, Android Enterprise, Android AOSP, iOS/iPadOS, macOS, Windows | device.operatingSystemVersion |
Managed apps | Android, iOS/iPadOS, Windows | app.operatingSystemVersion |
Per i Managed apps, ad esempio, è possibile verificare una versione specifica con una regola come:
(app.operatingSystemVersion -eq 14.2.1)
La distinzione tra i due tipi di filtro è importante anche dal punto di vista dei workload. I filtri Managed apps sono applicabili alle App Protection Policies e alle App Configuration Policies; non si estendono a compliance policy o device configuration profile. Nei Managed devices il supporto è più ampio, ma varia in base al tipo di app o policy e alla piattaforma. Prima di costruire un modello di assegnazione basato sui filtri è quindi necessario verificare che il workload interessato sia supportato.
Come creare un Assignment Filter con operatingSystemVersion
Per creare un Assignment Filter nel Microsoft Intune admin center il percorso è Tenant administration > Assignment filters > Create. Gli stessi filtri sono raggiungibili anche da Devices > Organize devices > Assignment filters e Apps > Organize devices > Assignment filters. Come prerequisito amministrativo, è sufficiente l’accesso con un ruolo Intune adeguato; licensing e requisiti dei dispositivi o degli utenti continuano invece a dipendere dal workload al quale il filtro viene associato.
Vediamo come funziona la creazione di un filtro con il nuovo operatingSystemVersion. Apriamo Tenant administration > Assignment filters > Create e scegliamo Managed devices (Managed apps funziona allo stesso modo).

Per un filtro destinato ai dispositivi Windows selezioniamo Managed devices e, nella pagina Basics, impostiamo come piattaforma Windows 10 and later. È consigliabile assegnare al filtro un nome che ne renda comprensibile anche lo scopo, ad esempio Windows – OS build 26200, accompagnandolo con una descrizione che documenti il criterio utilizzato.

Nella pagina Rules possiamo utilizzare il rule builder oppure inserire direttamente l’espressione nella sezione Rule syntax. Per una semplice soglia minima, ad esempio, possiamo configurare operatingSystemVersion, scegliere l’operatore Greater than or equals e specificare il valore previsto. La sintassi equivalente è ad esempio (device.operatingSystemVersion -eq 10.0.26200.9445). Intune valida la sintassi durante la configurazione e segnala eventuali espressioni non corrette.

Prima di creare il filtro utilizziamo Preview, che mostra i dispositivi registrati corrispondenti ai criteri della regola. Questa verifica è particolarmente utile quando vengono combinate più condizioni, perché permette di controllare il risultato prima di collegare il filtro a un’assegnazione reale. Ora che operatingSystemVersion è GA, non si applica più la limitazione documentata per le proprietà sperimentali che impediva l’uso della preview.

Dopo la verifica completiamo gli eventuali Scope tags, se utilizzati, e controlliamo la configurazione nella pagina Review + create. Il filtro viene salvato come oggetto riutilizzabile e potrà quindi essere associato alle assegnazioni dei workload compatibili.

Infine, apriamo l’app o la policy interessata, raggiungiamo la relativa sezione Assignments e utilizziamo Edit filter sull’assegnazione. Con Include filtered devices in assignment riceveranno la configurazione soltanto i dispositivi del target che soddisfano la regola; con Exclude filtered devices in assignment i dispositivi che soddisfano il filtro verranno invece esclusi.

Il filtro restringe il gruppo ma non lo sostituisce
Per interpretare correttamente il risultato è necessario tenere separati target dell’assegnazione e Assignment Filter. Una policy viene prima assegnata a un gruppo; il filtro viene quindi valutato all’interno di quella assegnazione per determinare l’applicabilità sul singolo dispositivo.
Se utilizziamo Include filtered devices in assignment, il dispositivo deve trovarsi nel target dell’assegnazione e contemporaneamente soddisfare le condizioni del filtro. Con Exclude filtered devices in assignment, i dispositivi che corrispondono alla regola vengono esclusi dal target. Il filtro non crea quindi una membership persistente analoga a quella di un gruppo Microsoft Entra.
Questa caratteristica rende gli Assignment Filters particolarmente adatti quando una proprietà del dispositivo serve soltanto al targeting di app e policy Intune. Se la stessa popolazione deve essere utilizzata anche da Conditional Access, licensing, assegnazione dei profili Windows Autopilot o altri workload, il gruppo dinamico continua ad avere una funzione diversa. La documentazione corrente suggerisce infatti Assignment Filters per il targeting Intune basato sulle proprietà del dispositivo e gruppi dinamici quando è necessario utilizzare la popolazione anche al di fuori di Intune.
Scenario | Assignment Filter | Gruppo dinamico |
|---|---|---|
Targeting di una policy Intune per versione OS o proprietà del dispositivo | Adatto | Possibile |
Valutazione durante il check-in Intune | Sì | Dipende dalla membership del gruppo |
Target condiviso con Conditional Access | No | Sì |
Target per licensing | No | Sì |
Assegnazione di profili Windows Autopilot | No | Sì |
Popolazione utilizzata esclusivamente da workload Intune compatibili | Adatto | Possibile |
Quando viene valutato il filtro
Gli Assignment Filters vengono valutati quando il dispositivo esegue l’enrollment, effettua il check-in con il servizio Intune oppure quando la policy viene nuovamente valutata. In quel momento le proprietà presenti nella regola determinano se l’app o la policy deve risultare applicabile.
Questo comportamento è utile negli scenari basati sulla versione del sistema operativo perché un dispositivo che viene aggiornato può soddisfare automaticamente una regola che prima non corrispondeva. Consideriamo un filtro configurato con operatingSystemVersion -ge 10.0.26200.9445: un client che si trova sotto quella soglia resta fuori dall’assegnazione filtrata, mentre dopo l’aggiornamento e una successiva valutazione può rientrare nel perimetro senza modificare gruppi o regole.
Durante i test conviene quindi controllare sia la versione effettivamente riportata a Intune sia l’esito dell’assegnazione dopo un nuovo check-in. Se serve forzare la comunicazione del dispositivo Windows durante una verifica, può essere utile richiamare la procedura già descritta su Endpoint Ninja nell’articolo dedicato alla Sync on-demand per dispositivi Windows.
Verificare dove viene utilizzato un Assignment Filter
Un filtro può essere riutilizzato da più app e policy. Prima di modificarne la regola in un ambiente di produzione è quindi importante capire quali assegnazioni dipendono dallo stesso oggetto.
Dal Microsoft Intune admin center possiamo aprire Tenant administration > Assignment filters, selezionare il filtro interessato e consultare la scheda Associated Assignments. La pagina mostra le app e le policy che utilizzano il filtro, i gruppi coinvolti e la modalità Include oppure Exclude configurata per ciascuna assegnazione.

Limiti degli Assignment Filters
La General Availability di operatingSystemVersion non modifica i limiti generali degli Assignment Filters. Ogni tenant può avere fino a 200 filtri di assegnazione e ciascuna regola può contenere al massimo 3.072 caratteri. Per i Managed devices il dispositivo deve essere registrato in Intune, mentre per i Managed apps il supporto rimane circoscritto ai workload applicativi previsti.
Aspetto | Comportamento documentato |
|---|---|
Numero massimo di Assignment Filters | 200 per tenant |
Lunghezza massima di una regola | 3.072 caratteri |
Managed devices | Il dispositivo deve essere registrato in Intune |
Managed apps | Utilizzabili con App Protection Policies e App Configuration Policies |
Valutazione | Durante enrollment, check-in o nuova valutazione della policy |
Riutilizzo | Lo stesso filtro può essere associato a più assegnazioni |
Un altro aspetto da considerare è la leggibilità delle regole, la possibilità di costruire espressioni complesse non implica che sia utile concentrare molte condizioni nello stesso filtro. Quando un filtro diventa difficile da interpretare, aumenta anche il rischio di modificarlo senza comprendere tutte le conseguenze sulle assegnazioni collegate. Nomi descrittivi, una descrizione aggiornata e un controllo periodico delle Associated Assignments aiutano a mantenere comprensibile il modello di targeting nel tempo.
Conclusioni
La disponibilità generale di operatingSystemVersion in Microsoft Intune rende più semplice utilizzare la versione del sistema operativo come criterio reale di targeting. Gli operatori -gt, -ge, -lt e -le permettono di lavorare con soglie e intervalli di versione, evitando di trattare ogni build come una semplice stringa e rendendo più gestibili scenari come rollout pilota, configurazioni riservate a versioni recenti ed esclusione temporanea dei dispositivi che non hanno ancora completato un aggiornamento.
Per i nuovi Assignment Filters basati sulla versione del sistema operativo conviene quindi utilizzare operatingSystemVersion al posto della proprietà deprecata osVersion, senza intervenire obbligatoriamente sui filtri precedenti che continuano a funzionare. Prima di estendere una regola verso un target ampio è comunque utile verificare il risultato con Preview devices, provarla su una popolazione controllata e controllare quali workload utilizzano lo stesso filtro attraverso Associated Assignments.
Gli Assignment Filters restano uno strumento di affinamento delle assegnazioni Intune e vanno utilizzati con questa logica. Quando la condizione sulla versione del sistema operativo serve esclusivamente per decidere l’applicabilità di un’app o di una policy Intune, operatingSystemVersion permette di evitare gruppi creati soltanto per rappresentare una determinata build. Quando la stessa popolazione deve essere condivisa con altri workload, il modello basato sui gruppi mantiene invece il proprio ruolo.