/
/

Come automatizzare l’assegnazione dei profili di configurazione Intune in base alle etichette dei dispositivi tramite Graph API

di Team Ninja
How to Automate Intune Configuration Profile Assignments Based on Device Labels via Graph API blog banner image

Riepilogo

Questo post del blog NinjaOne offre un elenco completo di comandi CMD di base e un’analisi approfondita dei comandi di Windows con oltre 70 comandi cmd essenziali sia per i principianti che per gli utenti avanzati. La guida si propone si piegare in modo pratico i comandi del prompt dei comandi per la gestione dei file, la navigazione nelle directory, la risoluzione dei problemi di rete, le operazioni su disco e l’automazione, con esempi reali per migliorare la produttività. Che tu voglia imparare i comandi cmd fondamentali o padroneggiare gli strumenti avanzati della CLI di Windows, questa guida ti aiuterà a utilizzare il Prompt dei comandi in modo più efficace.

Punti chiave

  • Automatizza l’assegnazione dei profili di configurazione Intune tramite Microsoft Graph API con un flusso di lavoro Etichetta → Gruppo → Profilo: assegna un’etichetta ai dispositivi, interrogali per etichetta, aggiungili a un gruppo corrispondente e infine assegna il profilo a quel gruppo.
  • Prerequisiti: licenze Intune, Microsoft Entra ID Premium, PowerShell 7+ con il modulo Microsoft.Graph e una registrazione dell’app con le autorizzazioni DeviceManagementConfiguration.ReadWrite.All, Device.Read.All e Group.ReadWrite.All.
  • Intune supporta solo assegnazioni basate sui gruppi, quindi i dispositivi devono essere aggiunti a un gruppo Entra ID (dinamico o gestito manualmente) prima che sia possibile applicare un profilo di configurazione.
  • Usa un’unica fonte autorevole per le etichette – chiave del Registro di sistema, DeviceCategory di Intune o attributo di estensione di Entra – per evitare dispositivi duplicati o non assegnati; se un dispositivo ha più etichette, Intune applica la regola “l’ultima scrittura prevale”.
  • Esegui il flusso di lavoro con una pianificazione ricorrente e registra lo stato dell’assegnazione nel Registro di sistema per il tracciamento di audit, così i dispositivi nuovi o modificati vengono rilevati automaticamente.

L’onboarding dei dispositivi e l’assegnazione dei gruppi utente sono due attività che MSP e team di enterprise informatica cercano spesso di automatizzare per migliorare il flusso di lavoro. Su larga scala, questa configurazione avviene di norma tramite RMM o profili di configurazione Intune, che sfruttano le etichette dei dispositivi tramite Graph API. Scopri la nostra guida per iniziare.

Cerchi una guida visiva per approfondire l’argomento? Guarda il nostro video: Come automatizzare l’assegnazione dei profili di configurazione Intune in base alle etichette dei dispositivi tramite Graph API.

Procedura per impostare l’assegnazione dei profili di configurazione Intune tramite Graph API

Usa la tabella per scegliere e raggiungere rapidamente i passaggi di attivazione che ti interessano.

📌 Prerequisiti:

  • Licenze Microsoft Intune
  • Microsoft Entra ID Premium (per gruppi dinamici e policy Intune)
  • Applicazione registrata con autorizzazioni Graph API:
    • ReadWrite.All (per le policy del Catalogo impostazioni)
    • ReadWrite.All (per i profili di configurazione standard)
    • Read.All (necessaria per leggere le categorie dispositivi di Intune)
    • ReadWrite.All (per gestire i gruppi di assegnazione)
  • PowerShell 7+ con il modulo Microsoft.Graph
  • Facoltativo: accesso al Registro di sistema locale per l’etichettatura
  • Facoltativo: NinjaOne o un’altra piattaforma RMM per i metadati degli endpoint e l’esecuzione degli script

💡 Suggerimento: consulta la sezione Aspetti a cui prestare attenzione per consigli su come gestire i rischi potenziali.

Passaggio 1: applicare etichette ai dispositivi tramite il Registro di sistema locale (facoltativo)

In questo esempio viene creata su ogni dispositivo una semplice chiave del Registro di sistema con valori come Label=Finance e AssignedProfile=None.

  1. Usa la Ricerca 🔎 per aprire Terminale → PowerShell → Esegui come amministratore.
  2. Assegna agli endpoint metadati di ruolo o ambiente:

Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\DeviceLabels" -Name "Label" -Value "Finance"

Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\DeviceLabels" -Name "AssignedProfile" -Value "None"

Questo passaggio può essere usato con Intune oppure in parallelo durante la fase di transizione. Crea su ogni dispositivo una semplice chiave del Registro di sistema, che funge anche da metadato.

Per la verifica puoi eseguire reg query HKLM\SOFTWARE\Org\DeviceLabels in CMD o PowerShell. Queste etichette possono guidare la logica di uno script esterno nel decidere quale profilo Intune assegnare.

Passaggio 2: connettersi a Microsoft Graph e interrogare i dispositivi per etichetta

Questi script individuano i dispositivi in base a un’etichetta (ad esempio DeviceCategory -eq “Finance”) oppure tramite attributi di estensione, come le proprietà di estensione di Entra ID.

  1. Usa la Ricerca 🔎 per aprire Terminale → PowerShell → Esegui come amministratore.
  2. Connettiti a Graph:

Connect-MgGraph -Scopes "DeviceManagementManagedDevices.Read.All", “Group.ReadWrite.All”

  1. Quindi interroga i dispositivi per categoria:

$devices = Get-MgManagedDevice | Where-Object { $_.DeviceCategory -eq "Finance" }

Se utilizzi gli attributi di estensione, modifica la query di conseguenza. Intune ed Entra ID danno il meglio quando si tratta di individuare i dispositivi registrati.

⚠️ Nota tecnica: assicurati che la tua automazione punti all’endpoint ManagedDevice e non all’endpoint Device standard di Entra ID. Gli attributi specifici di Intune, come DeviceCategory, non esistono negli oggetti predefiniti di Entra ID. Interrogare l’endpoint sbagliato restituisce un set di dati vuoto.

Passaggio 3: creare o individuare i profili di configurazione e assegnarli per gruppo

L’obiettivo successivo è garantire che esista un gruppo di destinazione per l’etichetta (ad esempio “Finance Devices”).

  1. Usa la Ricerca 🔎 per aprire Terminale → PowerShell → Esegui come amministratore.
  2. Esegui Get-MgDeviceManagementDeviceConfiguration per elencare i profili di configurazione esistenti.
  3. Poi individua o crea un gruppo di assegnazione per l’etichetta di destinazione:

$group = Get-MgGroup | Where-Object { $_.DisplayName -eq "Finance Devices" }

Oppure crea un nuovo gruppo:

$group = New-MgGroup -DisplayName "Finance Devices" -MailEnabled:$false `

-MailNickname "FinanceGroup" -SecurityEnabled:$true

  1. Una volta creato il gruppo, puoi aggiungervi i dispositivi e assegnare un profilo di configurazione.
    • Aggiungi i dispositivi:

Add-MgGroupMember -GroupId $group.Id -DirectoryObjectId $device.Id

    • Assegna il profilo di configurazione:

New-MgDeviceManagementDeviceConfigurationAssignment `

-DeviceConfigurationId $configProfile.Id `

-Target @{groupId = $group.Id}

🧠 Requisito strutturale: quando assegni un profilo di configurazione tramite Graph API, il sistema richiede un wrapper strutturale @odata.type esplicito. Lo script deve definire esplicitamente la destinazione come #microsoft.graph.groupAssignmentTarget e passare l’ID del gruppo all’interno di quella specifica struttura del payload, anziché applicarlo direttamente all’oggetto profilo.

💡 Nota: inoltre, puoi usare l’appartenenza dinamica se l’etichetta è memorizzata in un attributo interrogabile a livello di gruppo (ad esempio un attributo di estensione). In alternativa, automatizza l’etichettatura tramite RMM.

Passaggio 4: automatizzare il flusso di lavoro (Etichetta → Gruppo → Profilo)

Questo passaggio serve a impostare una gestione senza interventi manuali, una volta individuate e interrogate correttamente le fonti delle etichette e i profili di destinazione. Ecco uno script di esempio che utilizza le etichette e i profili precedenti:

$label = “Finance”

$devices = Get-MgDevice | Where-Object { $_.DeviceCategory -eq $label }foreach ($device in $devices) {

$group = Get-MgGroup | Where-Object { $_.DisplayName -eq “$label Devices” }if (-not $group) {

$group = New-MgGroup -DisplayName “$label Devices” -MailEnabled:$false `

-MailNickname “$labelGroup” -SecurityEnabled:$true}Add-MgGroupMember -GroupId $group.Id -DirectoryObjectId $device.IdNew-MgDeviceManagementDeviceConfigurationAssignment `

-DeviceConfigurationId $configProfile.Id `

-Target @{groupId = $group.Id}}

Negli ambienti gestiti ed enterprise, questo script deve essere eseguito con cadenza ricorrente per intercettare i nuovi endpoint da organizzare.

Passaggio 5: salvare lo stato dell’assegnazione nel Registro di sistema per l’audit

Per concludere, aggiorna il Registro di sistema in modo da tenere traccia del profilo applicato. Puoi eseguire il seguente script tramite PowerShell:

Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\DeviceLabels" -Name "AssignedProfile" -Value "Finance_Profile"

Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\DeviceLabels" -Name "LastSynced" -Value (Get-Date).ToString(“u”)

Questa operazione crea una traccia di audit locale a disposizione dei team di supporto. Questi dati possono anche essere raccolti da un RMM o esportati in CSV per il reporting centralizzato.

💡 Nota: questo script potrebbe essere eseguito o non riuscire senza mostrare alcuna conferma o richiesta. Per verificare se le modifiche sono state applicate correttamente, controlla le chiavi del Registro di sistema o le impostazioni di sistema corrispondenti.

Guida rapida

NinjaOne può essere d’aiuto nell’assegnazione dei profili di configurazione Intune in base alle etichette dei dispositivi tramite Graph API, anche se nello specifico possono servire script o automazioni personalizzate. Ecco i punti principali:

1. NinjaOne supporta la gestione dei dispositivi e offre capacità di integrazione con le tecnologie Microsoft.

2. La piattaforma offre:

  • Etichettatura dei dispositivi
  • Configurazioni dei dispositivi automatizzate
  • Supporto per l’automazione basata su PowerShell e API

3. Pur non esistendo una soluzione pronta all’uso per l’assegnazione dei profili Intune, puoi ottenere lo stesso risultato tramite:

⚠️ Aspetti a cui prestare attenzione quando si automatizza l’assegnazione dei profili Intune

Di seguito trovi i rischi più comuni, le possibili conseguenze e alcuni modi pratici per rimediare o prevenire i problemi.

RischiPossibili conseguenzeSoluzioni
Fonti delle etichette non coerenti (Registro di sistema locale, DeviceCategory di Intune o attributi di estensione di Entra)I dispositivi potrebbero non essere raggruppati correttamente; duplicati o macchine non assegnateAdotta un’unica fonte autorevole per le etichette; in caso di migrazione, aggiungi misure di protezione per evitare assegnazioni duplicate
Creazione di gruppi dinamici senza un attributo stabileLe regole del gruppo non vengono mai risolte; i dispositivi non ricevono mai i profiliAssicurati che le etichette siano memorizzate in un attributo utilizzabile nelle regole dinamiche (ad esempio extensionAttribute, deviceCategory); testa le regole su un campione
Throttling di Graph negli ambienti di grandi dimensioniL’esecuzione dello script rallenta; aggiornamenti parziali dei dispositiviSuddividi i dispositivi in batch, aggiungi una logica di ripetizione dei tentativi oppure esegui il flusso di lavoro etichetta per etichetta anziché tutto in una volta

Alcune delle difficoltà iniziali nell’automatizzare l’assegnazione dei profili tramite Intune emergono durante le transizioni. Conviene quindi usare la necessaria diligenza per assicurarsi che etichette e raggruppamenti non entrino in conflitto né vengano duplicati.

Inoltre, negli ambienti di grandi dimensioni può essere necessario scaglionare l’esecuzione degli script, a meno che tu non li esegua tramite un RMM adeguato alla scala delle operazioni.

Usa NinjaOne per potenziare i flussi di lavoro Intune

Molti flussi di lavoro Intune possono essere arricchiti con policy di automazione, reporting e una gestione IT scalabile e granulare offerta da NinjaOne RMM®.

  • Distribuzione di script che etichettano i dispositivi nel Registro di sistema
  • Attivazione di script Graph esterni tramite policy di automazione
  • Reporting sui metadati dei dispositivi (etichetta, ruolo, posizione) per guidare le assegnazioni
  • Etichettatura dei dispositivi privi di profili di configurazione corretti per la successiva correzione
  • Avvisi quando i dispositivi si discostano dalle assegnazioni di policy Intune previste

Con NinjaOne, gli MSP possono semplificare la governance delle policy Intune mantenendo scalabilità e reporting su più clienti.

Best practice per automatizzare l’assegnazione dei profili in Intune

Automatizzare l’assegnazione dei profili di configurazione Intune con Graph API è un modo efficace per rafforzare l’applicazione delle policy e semplificare l’onboarding dei dispositivi in tutta la rete.

Man mano che la tua organizzazione cresce, però, valuta di affiancare a Intune e Graph API un RMM come NinjaOne, che offre funzionalità di automazione e remediation su larga scala. Questo approccio proattivo fornisce un framework completo per una gestione degli endpoint senza interventi manuali, pronta per gli audit e scalabile.
Argomenti correlati:

FAQs

I profili di configurazione Intune sono insiemi di impostazioni e policy che controllano la sicurezza, le restrizioni hardware e il comportamento del sistema operativo sugli endpoint gestiti. Questi profili vengono assegnati a gruppi di utenti o di dispositivi per applicare baseline standardizzate in tutto l’ambiente.

Microsoft Graph API è il gateway unificato ai servizi Microsoft 365. Poiché l’interfaccia di amministrazione di Microsoft Intune è costruita interamente sugli endpoint di Graph API, gli amministratori possono usarla per automatizzare la distribuzione del tenant a livello di codice, interrogare lo stato dei dispositivi e assegnare policy su larga scala.

Se desideri un flusso di lavoro al 100% cloud-native, puoi fare a meno delle chiavi del Registro di sistema locale. Puoi affidarti alle categorie dispositivi native di Intune oppure usare gli attributi di estensione di Microsoft Entra ID per costruire il targeting dinamico. Le chiavi del Registro di sistema locale si usano in genere quando serve un motore RMM on-premise (come NinjaOne) per colmare il divario con gli endpoint non gestiti o in fase di transizione.

Se un dispositivo riceve due impostazioni di profilo di configurazione in conflitto tramite assegnazioni di gruppo diverse, Intune non applica la regola “l’ultima scrittura prevale”. Segnala invece uno stato di conflitto nell’interfaccia di amministrazione e nessuna delle due impostazioni viene applicata finché un amministratore non risolve manualmente la sovrapposizione. Per evitarlo, assicurati che la logica del tuo script imponga un’architettura rigorosa con “un’unica etichetta per ambito di policy”.

Microsoft Intune si basa su architetture di targeting per gruppi per le policy personalizzate di conformità e configurazione. Anche se la piattaforma consente di puntare a raccolte virtuali ampie come “Tutti i dispositivi”, un targeting granulare basato su attributi univoci o etichette operative richiede prima il raggruppamento degli oggetti. Questo rende i gruppi di Microsoft Entra ID il ponte funzionale indispensabile per l’automazione tramite Graph API.

Ti potrebbe interessare anche

Pronto a semplificare le parti più complesse dell'IT?