Dal prossimo 30 marzo 2024 verranno deprecati i moduli PowerShell AzureAD, MSOnline e AzureADPreview. Benvenuto Microsoft Graph PowerShell!
I moduli PowerShell AzureAD, MSOnline e AzureADPreview verranno ritirati il 30 marzo 2024. È consigliato migrare verso Microsoft Graph PowerShell, che è il modulo raccomandato per interagire con Entra ID e offre accesso a tutte le API di Microsoft Graph. Questo modulo è disponibile su PowerShell 7 e versioni successive ed è compatibile anche con Windows PowerShell 5.1. È cross-platform, funzionando su Windows, macOS e Linux, e supporta l’autenticazione moderna tramite la libreria di autenticazione di Microsoft (MSAL).
Durante il processo di migrazione dei moduli AzureAD e MSOnline a Microsoft Graph PowerShell è sicuramente utile una mappatura dei cmdlet dei diversi moduli. Tuttavia, potrebbe non sempre essere possibile trovare una corrispondenza diretta per ogni cmdlet. Vi rimando quindi alla consultazione della pagina Find Azure AD and MSOnline cmdlets in Microsoft Graph PowerShell | Microsoft Learn per visualizzare una mappa di comparazione tra i diversi cmdlet.
Figura 1: mappa di comparazione tra i diversi cmdlet
Funzionalità e vantaggi di Microsoft Graph PowerShell
Microsoft Graph PowerShell SDK offre i seguenti vantaggi:
- Accesso a tutte le API Microsoft Graph : Microsoft Graph PowerShell è basato sull’API Microsoft Graph. Oltre a Microsoft Entra ID, l’API Microsoft Graph include API di altri servizi Microsoft come SharePoint, Exchange e Outlook, tutti accessibili tramite un singolo endpoint con un unico token di accesso.
- Supporta PowerShell 7 : Microsoft Graph PowerShell funziona con PowerShell 7 e versioni successive. È anche compatibile con Windows PowerShell 5.1.
- Supporto multipiattaforma : Microsoft Graph PowerShell funziona su tutte le piattaforme, inclusi Windows, macOS e Linux.
- Supporta l’autenticazione moderna : Microsoft Graph PowerShell supporta Microsoft Authentication Library (MSAL) che offre maggiore sicurezza. Ad esempio, puoi utilizzare esperienze di accesso senza password.
- Supporta identità esterne : Gli utenti di altri tenant di Microsoft Entra possono autenticarsi per i servizi nel tuo tenant con Microsoft Graph PowerShell.
- Utilizza il minimo privilegio: Le autorizzazioni di Microsoft Graph PowerShell non sono pre-autorizzate e gli utenti devono eseguire una richiesta una tantum per le autorizzazioni dell’app in base alle loro esigenze.
- Query avanzate : Microsoft Graph PowerShell supporta query complesse e avanzate. Ad esempio, potete ottenere un conteggio quasi istantaneo di tutti gli utenti utilizzando query avanzate.
- Open source : I team di funzionalità e la community possono creare fantastiche esperienze PowerShell e condividerle con tutti.
- Riceve aggiornamenti regolari : I comandi di Microsoft Graph PowerShell vengono aggiornati regolarmente per supportare gli ultimi aggiornamenti dell’API Graph.
Migrazione verso Microsoft Graph PowerShell
La migrazione comporta una curva di apprendimento data la diversità nel funzionamento del SDK di Microsoft Graph PowerShell rispetto ai moduli precedenti. È stato segnalato che amministratori che hanno già effettuato la migrazione hanno riscontrato diverse problematiche. I moduli AzureAD, MSOnline e AzureADPreview sono destinati alla deprecazione il 30 marzo 2024 e saranno disponibili solo per altri 6 mesi dopo questa data.
Per facilitare la migrazione e l’adozione del nuovo modulo, è importante familiarizzarsi con la struttura del SDK di Microsoft Graph PowerShell, che è strutturata in modo logico per facilitare la ricerca dei cmdlet necessari. Comprendere come sono costruiti i cmdlet può aiutare a tradurre più facilmente gli script esistenti o a trovare equivalenti funzionalità nel nuovo ambiente.
Fate riferimento alla documentazione ufficiale Migrate from Azure AD PowerShell to Microsoft Graph PowerShell. | Microsoft Learn
Installazione di Microsoft Graph PowerShell
Per installare il Microsoft Graph PowerShell SDK, si consiglia di utilizzare PowerShell 7 o versioni successive, anche se è possibile utilizzarlo con Windows PowerShell aggiornando PowerShell alla versione 5.1 o successiva e installando il .NET Framework 4.7.2 o versioni successive. L’installazione avviene tramite il cmdlet Install-Module -Name Microsoft.Graph e il SDK viene pubblicato su PowerShell Gallery. Ci sono due moduli principali da installare: Microsoft.Graph e Microsoft.Graph.Beta, che si riferiscono rispettivamente agli endpoint v1.0 e beta di Microsoft Graph. È importante notare che, sebbene sia possibile utilizzare l’endpoint beta per testare o adottare anticipatamente le funzionalità, queste sono ancora in anteprima e potrebbero cambiare, rendendole inaffidabili per l’uso in produzione.
Prima di installare il modulo Microsoft.Graph ricordatevi di disinstallare gli altri moduli AzureAD, MSOnline e AzureADPreview
Figura 2: Disinstallazione dei moduli AzureAD, MSOnline e AzureADPreview
Figura 3: Installazione del modulo Microsoft Graph PowerShell
Figura 4: Connessione ai servizi di Microsoft Graph
Comprendere lo Scope in Microsoft Graph
Gli scope sono permessi che specificano quale tipo di accesso l’applicazione o l’utente ha bisogno per interagire con le risorse di Microsoft Graph. Gli scope possono essere:
- Delegati: Utilizzati quando un’app agisce per conto di un utente autenticato.
- Applicazione: Utilizzati per accessi a lungo termine senza l’interazione diretta di un utente (autenticazione basata su certificato o segreto).
Esempi di scope comuni:
User.Read
: Permette di leggere le informazioni base di un utente.Mail.Read
: Consente di leggere le email di un utente.Calendars.ReadWrite
: Consente di leggere e scrivere eventi del calendario
Autenticazione e Autorizzazione con Scope
Quando accedi a Microsoft Graph con PowerShell, è importante specificare gli scope necessari. Usa il comando seguente per connetterti e richiedere specifici scope:
1 |
Connect-MgGraph -Scopes "User.Read", "Mail.Read" |
Potete anche usare scope multipli separandoli con una virgola. Il comando scritto sopra:
- Avvia il processo di autenticazione.
- Richiede all’utente di concedere le autorizzazioni specificate.
Autenticazione Senza Specificare Scope
Se non specificate esplicitamente uno scope, verranno utilizzati gli scope predefiniti per il modulo.
Per maggiori informazioni vi invito alla lettura della documentazione ufficiale Microsoft Graph PowerShell documentation | Microsoft Learn
Conclusioni
La deprecazione dei moduli AzureAD, MSOnline e AzureADPreview, prevista per il 30 marzo 2024, rappresenta un importante cambiamento nell’ecosistema Microsoft, con l’obiettivo di consolidare e ottimizzare la gestione delle risorse cloud tramite il modulo Microsoft Graph PowerShell.
Microsoft Graph PowerShell offre numerosi vantaggi, tra cui una maggiore coerenza nelle API, accesso a un set di funzionalità più ampio e aggiornamenti continui per adattarsi alle esigenze degli utenti e alle evoluzioni delle piattaforme Microsoft.
Con questa migrazione, Microsoft dimostra il suo impegno nel fornire strumenti più moderni e sicuri, favorendo una gestione unificata e semplificata delle risorse cloud. Tuttavia, il successo della transizione dipenderà dall’adozione proattiva da parte degli amministratori IT e dal tempo investito nell’apprendimento delle nuove funzionalità.
Questo passaggio non è solo un obbligo, ma anche un’opportunità per migliorare le competenze e sfruttare al meglio le potenzialità di Microsoft Graph, ponendo le basi per una gestione più efficiente e integrata degli ambienti cloud di Microsoft.