2025-12-08
Usa Managed Identity con PowerShell per Microsoft Graph

Con l'aumento della dipendenza delle aziende da Microsoft 365, l'automazione delle attività di gestione diventa essenziale. Puoi migliorare l'efficienza e risparmiare tempo prezioso integrando PowerShell + Graph API. Questa potente combinazione offre solide funzionalità di gestione che semplificano le operazioni.
Tuttavia, molti utenti incontrano delle difficoltà. Ad esempio, alcune funzionalità chiave non dispongono di endpoint documentati, complicando gli sforzi di automazione. Inoltre, le API legacy possono causare errori silenziosi, ostacolando la manutenibilità dei tuoi script. Non preoccuparti! Questo post suddivide questi concetti complessi in passaggi semplici e pratici, guidandoti nel processo con soluzioni chiare.
Punti chiave
- Integra PowerShell con Graph API per automatizzare le attività di Microsoft 365 e migliorare l'efficienza.
- Assicurati che il tuo sistema soddisfi i prerequisiti, come PowerShell 7 o versione successiva e il modulo Microsoft Graph più recente, per un'esecuzione senza intoppi.
- Comprendi permessi e ambiti per controllare ciò a cui i tuoi script possono accedere in Microsoft 365, seguendo il principio del privilegio minimo.
- Registra la tua app in Azure AD per creare un'identità sicura per i tuoi script, consentendo un accesso protetto a Microsoft Graph.
- Scegli il flusso di autenticazione corretto, come Device Code Flow o Managed Identity Flow, per proteggere efficacemente i tuoi access token.
- Costruisci richieste HTTP ben formate con PowerShell per interagire con Microsoft Graph API e recuperare i dati.
- Gestisci con attenzione errori e limiti delle API per garantire che i tuoi script vengano eseguiti senza interruzioni.
- Ottimizza i tuoi script usando il recupero selettivo delle proprietà e il raggruppamento delle richieste (batching) per migliorare le prestazioni e ridurre il consumo di risorse.
Prerequisiti per PowerShell + Graph API
Prima di iniziare ad automatizzare le attività di Microsoft 365 con PowerShell + Graph API, devi preparare correttamente il sistema e l'ambiente. Questa preparazione garantisce un'esecuzione fluida e un accesso sicuro alle risorse di Microsoft Graph.
Installazione dei moduli PowerShell
Devi installare i moduli PowerShell corretti per interagire con Microsoft Graph API. Il Microsoft Graph PowerShell SDK fornisce tutti i cmdlet necessari per questa integrazione. Per evitare errori, verifica che il sistema soddisfi questi requisiti minimi:
| Requisito | Descrizione |
|---|---|
| Versione di PowerShell | È richiesto PowerShell versione 7 o successiva. |
| .NET Framework | Su macOS è necessario .NET Framework 4.7.2 o successivo. |
| PowerShellGet | Aggiorna PowerShellGet all'ultima versione. |
| Criterio di esecuzione | Imposta il criterio di esecuzione su remote signed o meno restrittivo. |
Puoi aggiornare PowerShellGet eseguendo Install-Module PowerShellGet -Force e impostare il criterio di esecuzione con Set-ExecutionPolicy RemoteSigned. Successivamente, installa il modulo Microsoft Graph con:
Install-Module Microsoft.Graph -Scope CurrentUser
Questo comando scarica l'ultima versione stabile del modulo, consentendoti di chiamare facilmente gli endpoint di Microsoft Graph.
Configurazione dell'ambiente Microsoft 365
Configurare correttamente l'ambiente Microsoft 365 è fondamentale per l'automazione. Segui questi passaggi per iniziare:
- Verifica che il sistema soddisfi i requisiti: PowerShell 7.2 o successivo, .NET Framework 4.7.2 o più recente e il modulo PowerShellGet più aggiornato.
- Installa il modulo Microsoft Graph PowerShell come mostrato sopra.
- Connettiti al tuo tenant Microsoft 365 importando il modulo e autenticandoti con gli ambiti necessari. Ad esempio:
Connect-MgGraph -Scopes "User.ReadWrite.All","Directory.ReadWrite.All"
Questo comando richiede di effettuare l'accesso e concede alla tua sessione i permessi per leggere e scrivere dati di utenti e directory. Puoi modificare gli ambiti in base alle tue esigenze di automazione.
Comprendere permessi e ambiti
I permessi e gli ambiti definiscono ciò che i tuoi script possono accedere o modificare in Microsoft 365. Microsoft Graph API utilizza due tipi principali di permessi:
- Permessi delegati: si applicano quando esegui gli script come utente connesso. Limitano l'accesso ai dati di cui l'utente è proprietario o che può consultare.
- Permessi applicativi: consentono alla tua app o al tuo script di accedere ai dati dell'intera organizzazione senza un utente connesso.
I permessi comuni includono *.Read.All per l'accesso in sola lettura e *.ReadWrite.All per le funzionalità complete di lettura e scrittura. Ad esempio, SecurityActions.Read.All ti permette di visualizzare le azioni di sicurezza, mentre SecurityActions.ReadWrite.All consente di modificarle.
I permessi applicativi richiedono il consenso dell'amministratore. Un amministratore del tenant deve approvare questi permessi per garantire la sicurezza. Inoltre, gli utenti necessitano dei ruoli Microsoft Entra appropriati, come Security Reader, per accedere ai dati sensibili. Questo accesso basato sui ruoli aggiunge un ulteriore livello di sicurezza.
Quando ti connetti tramite il Microsoft Graph PowerShell SDK, specifica solo gli ambiti di cui il tuo script ha bisogno. Questa pratica segue il principio del privilegio minimo, riducendo i rischi per la sicurezza. Tieni presente che i permessi concessi alla tua app si applicano a tutti gli utenti di quell'app, quindi rivedili e gestiscili regolarmente.
Comprendendo e configurando attentamente i permessi, proteggi il tuo ambiente consentendo al tempo stesso una potente automazione con PowerShell + Graph API.
Identità dell'app in Azure AD
Registrazione di una nuova app
Per automatizzare le attività di Microsoft 365 con PowerShell e Graph API, devi prima registrare un'applicazione in Azure Active Directory (Azure AD). Questa app funge da identità che i tuoi script utilizzano per accedere in modo sicuro a Microsoft Graph. Segui questi passaggi per registrare la tua app:
- Apri il portale di Azure e vai su Azure Active Directory > Registrazioni app > Nuova registrazione.
- Assegna alla tua app un nome significativo, ad esempio "My Graph App".
- Scegli i tipi di account supportati:
- Tenant singolo: possono accedere solo gli utenti del tuo tenant Azure AD.
- Multi-tenant: possono accedere utenti di qualsiasi tenant Azure AD.
- Multi-tenant e account personali: include utenti di Azure AD e account Microsoft personali.
Apple Podcasts · Spotify · YouTube · YouTube Music
Use Managed Identity with PowerShell for Microsoft Graph (English)