La gestione degli utenti è il cuore dell’amministrazione Microsoft 365 — e anche il punto dove si annidano i rischi più comuni: utenti senza MFA, account inattivi mai disattivati, offboarding fatti a metà che lasciano accessi aperti. Con PowerShell si controlla tutto in modo ripetibile. Abbiamo raccolto 10 script pronti in un toolkit scaricabile.
🛠️ Scarica il toolkit: Toolkit PowerShell utenti e offboarding Microsoft 365 (10 script) — gratuito, codice originale SynSphere, archivio ZIP. Questo articolo spiega cosa fa ciascuno script.
Prerequisiti (validi per tutti gli script)
- PowerShell 5.1+ o PowerShell 7.
- Microsoft Graph PowerShell SDK:
Install-Module Microsoft.Graph -Scope CurrentUser. - Per l’offboarding serve anche
ExchangeOnlineManagement. - Account amministratore con autenticazione moderna (MFA). Diversi report (signInActivity, sign-in logs) richiedono Microsoft Entra ID P1/P2.
Ogni script è autonomo, parametrico e commentato; le operazioni di scrittura supportano -WhatIf.
🔐 Sicurezza e accessi
- Report stato MFA (
02) — chi è registrato a MFA e con quali metodi, e soprattutto chi non lo è. Usa il report ufficiale di Entra (sostituisce il vecchio MSOnline, deprecato). È il primo controllo di sicurezza da fare, anche in ottica NIS2. - Storico accessi (
07) — i sign-in logs degli ultimi N giorni (utente, app, IP, esito, località) per individuare accessi sospetti. - Riepilogo attività (
08) — rollup per utente: accessi totali, falliti, app e IP distinti. Ordina per accessi falliti per scovare possibili attacchi. - Report amministratori (
05) — tutti gli account con ruoli amministrativi e quale ruolo: serve per applicare il privilegio minimo (troppi Global Administrator = rischio).
📊 Reporting utenti
- Ultimo accesso (
01) e ultimo accesso reale (03) — individuano gli account dormienti; il secondo considera anche gli accessi non interattivi (per non scambiare per inattivi gli account di servizio). - Report password (
04) — ultima modifica, età della password e flag “non scade mai”. - Report manager (
06) — il responsabile di ogni utente, ed evidenzia chi non ha un manager (gap nei flussi di approvazione e onboarding).
♻️ Ciclo di vita (lifecycle)
- Rimozione account inattivi (
09) — disabilita o elimina gli account fermi da oltre N giorni. Default solo report, scrittura con-WhatIf. - Offboarding completo (
10) — il pezzo forte: automatizza in 8 passi la disattivazione di un dipendente — blocco accesso, revoca sessioni, reset password, rimozione da gruppi e licenze, conversione della casella in shared mailbox, rimozione dalla rubrica e risposta automatica. Un offboarding fatto a metà è uno dei rischi di sicurezza più comuni: questo script lo rende ripetibile e completo.
Da dove partire
Due quick-win immediati:
- Sicurezza: lancia il report MFA (
02 -OnlyWithoutMfa) e il report amministratori (05). In 5 minuti sai chi è esposto. - Igiene: usa l’ultimo accesso reale (
03) per trovare gli account dormienti, poi gestiscili con09.
E quando un dipendente esce, l’offboarding (10) garantisce che nessun accesso resti aperto — il problema numero uno che troviamo negli assessment di sicurezza delle PMI (vedi i trend cybersecurity per le PMI).
Quando conviene un supporto
Identità, MFA e offboarding sono attività continuative: in un servizio gestito vengono monitorate e automatizzate. SynSphere offre assistenza Microsoft 365 e sicurezza gestita, e usa questi script (e altri) nelle sue automazioni PowerShell. Vedi anche il toolkit per le licenze Microsoft 365.
Scarica il toolkit o parla con un nostro consulente per un assessment di sicurezza e identità.