Con il passare del tempo, i dispositivi collegati a Microsoft Entra ID (precedentemente noto come Azure AD) possono diventare obsoleti, inattivi o duplicati. Disporre di un elenco dei dispositivi inattivi o obsoleti da eliminare aiuta gli amministratori IT a prendere decisioni consapevoli, ottimizzare le licenze e mantenere ordinato l’ambiente Azure.
Questa guida mostra come usare PowerShell e le API Microsoft Graph per identificare, esportare e automatizzare la pulizia di Azure AD dai dispositivi obsoleti aggiunti alla directory.
Ti serve una guida visiva per comprendere meglio l’argomento? Guarda il nostro video: Come usare PowerShell per esportare l’inventario dei dispositivi Azure inattivi da eliminare.
Come esportare il file CSV dei dispositivi obsoleti aggiunti ad Azure AD: guida passo passo
Per rimuovere i dispositivi inattivi da Azure AD, ti serve prima un elenco dei dispositivi inattivi. Questa sezione ti accompagna passo passo nell’esportazione del file CSV tramite PowerShell.
📌 Prerequisiti:
Per il processo principale di esportazione del file CSV servono i seguenti elementi:
- Autorizzazioni di amministratore di Azure AD o Entra ID
- Accesso alle API Microsoft Graph con le seguenti autorizzazioni:
- Device.Read.All
- Directory.Read.All
- PowerShell 7+
- Modulo Microsoft.Graph installato
Inoltre, potresti voler disporre di un agente RMM e dell’accesso al registro di sistema per i passaggi successivi all’esportazione del CSV.
Passaggio 1: connettiti a Microsoft Graph e recupera l’elenco dei dispositivi
Segui questi passaggi:
- Connettiti a Microsoft Graph e autentica la connessione con il comando:
Connect-MgGraph -Scopes "Device.Read.All Directory.Read.All"
- Recupera l’elenco dei dispositivi con il comando: $devices = Get-MgDevice -All
Passaggio 2: filtra i dispositivi Azure obsoleti o inattivi
Identifica i dispositivi Azure obsoleti o inattivi in base alla data dell’ultima attività. Per farlo, definisci la soglia di inattività con il comando:
$cutoff = (Get-Date).AddDays(-90)
$inactiveDevices = $devices | Where-Object {
$_.ApproximateLastSignInDateTime -lt $cutoff
}
💡 SUGGERIMENTO: per ottenere un elenco più accurato, puoi anche escludere gli account di servizio e gli oggetti ibridi con questo comando:
$inactiveDevices = $inactiveDevices | Where-Object {
# Exclude Hybrid Azure AD Joined devices
$_.DeviceTrustType -ne “HybridAzureADJoined” -and
# Exclude Personally Owned devices (keep only Corporate owned)
$_.DeviceOwnership -eq “Company”
}
Metodo alternativo: come individuare gli utenti inattivi in Azure Active Directory
Puoi individuare gli utenti inattivi anche dall’interfaccia di amministrazione di Entra. Vai su Monitoraggio > Accessi, quindi filtra gli utenti che non hanno effettuato l’accesso entro un intervallo di tempo definito (ad esempio 30, 60 o 90 giorni).
Passaggio 3: esporta il file CSV
Per esportare il file CSV, usa questo comando:
$inactiveDevices | Select-Object DisplayName, Id, DeviceId,
DeviceTrustType, ApproximateLastSignInDateTime |Export-Csv -Path "C:\Reports\InactiveAzureDevices.csv" -NoTypeInformation
Una volta esportato, il CSV può essere usato per la documentazione, i flussi di lavoro di approvazione e l’importazione negli script di pulizia.
Come contrassegnare i dispositivi per la pulizia locale e come rimuovere i computer obsoleti da Active Directory
Oltre ai tre passaggi principali elencati sopra, puoi proseguire il processo di pulizia con i metodi seguenti:
Contrassegnare i dispositivi per la pulizia locale nel Registro di sistema di Windows tramite PowerShell
Contrassegnare i dispositivi è utile quando puoi accedervi tramite RMM o script. Una volta contrassegnati, gli strumenti RMM e di scripting riescono a identificare quali dispositivi sono considerati obsoleti e a coordinare in sicurezza le azioni di pulizia.
Esegui questo comando in PowerShell:
New-Item -Path "HKLM:\SOFTWARE\Org\DeviceCleanup" -ForceSet-ItemProperty -Path "HKLM:\SOFTWARE\Org\DeviceCleanup" -Name "CleanupStatus" -Value "MarkedInactive"Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\DeviceCleanup" -Name "MarkedDate" -Value (Get-Date).ToString(“u”)
Esegui la riga seguente nel Prompt dei comandi per verificare che le modifiche siano state applicate:
reg query HKLM\SOFTWARE\Org\DeviceCleanup
Rimuovere i dispositivi obsoleti da Azure AD
Ci sono due modi per eliminare i dispositivi obsoleti, inattivi o duplicati su Azure AD: tramite rimozione con Microsoft Graph oppure tramite il portale di Azure.
Eliminare un dispositivo tramite Microsoft Graph
Per rimuovere un dispositivo direttamente tramite Graph:
Remove-MgDevice -DeviceId $device.Id
⚠️ Importante: l’esecuzione di questo comando comporta rimozioni immediate e permanenti. I dispositivi non vengono spostati in un cestino. Procedi con cautela.
Eliminare un dispositivo obsoleto aggiunto ad AD tramite il portale di Azure
Il portale di Azure dispone di una caratteristica di eliminazione in blocco che consente di rimuovere più dispositivi inattivi contemporaneamente. Vai su Portale di Azure > Entra ID > Dispositivi > Azioni in blocco > Elimina.
Altri aspetti da considerare quando elimini o contrassegni come inattivi i dispositivi aggiunti ad AD
Autenticazione a più fattori e criteri di accesso condizionale
Quando un dispositivo è legato all’accesso di un utente, verifica se rientra nei flussi di MFA o di accesso condizionale. Eliminare un dispositivo ancora legato ai requisiti di accesso di un utente può impedirgli di accedere alle applicazioni aziendali, alle VPN e ad altri file importanti.
Licenze
Intune, Microsoft Defender e altri strumenti Microsoft prevedono spesso una licenza per ogni dispositivo registrato. I dispositivi inattivi e duplicati di norma continuano a consumare queste licenze. Se noti di avere molti dispositivi obsoleti nella tua organizzazione, valuta una pulizia per liberare licenze da destinare ad altri usi.
Ambienti ibridi
In un ambiente ibrido, i dispositivi possono essere aggiunti tramite l’AD on-premise oppure tramite la directory Entra. Eliminare un dispositivo ibrido senza averne verificato il tipo di aggiunta può causare problemi, come stati di aggiunta incoerenti. Verifica sempre lo stato di aggiunta ibrida prima di procedere all’eliminazione.
Audit e documentazione
Le azioni di pulizia fanno solitamente parte dei processi di gestione IT di routine legati a conformità, audit di sicurezza e gestione delle licenze. Tenere un registro dei dispositivi rimossi e del loro stato aiuta a mantenere coerente la documentazione e garantisce che non siano state effettuate eliminazioni non autorizzate.
Risoluzione dei problemi più comuni
Il CSV non viene esportato
Questo problema si verifica quando l’esportazione del CSV (Passaggio 3) non va a buon fine. Le cause possibili sono: il percorso non esiste, l’utente non dispone delle autorizzazioni adeguate oppure ha usato un percorso relativo che in quella sessione non viene risolto correttamente. Per risolvere, verifica il percorso di output oppure usa il percorso completo in $env: TEMP.
Autorizzazione negata
Gli utenti che non includono gli scope necessari durante la connessione a Microsoft Graph possono vedersi bloccato il recupero dei dati dei dispositivi. Per prevenire o risolvere il problema, assicurati di avere il ruolo di amministratore e le autorizzazioni adeguate e di includere gli scope corretti delle API Graph.
ApproximateLastSignInDateTime vuoto
Un valore ApproximateLastSignInDateTime vuoto indica che non è mai stato effettuato un accesso dal dispositivo oppure che la telemetria non è disponibile. In questi casi, confronta i dati del dispositivo con altri strumenti come Intune, l’RMM o l’ultima sincronizzazione di AD prima di contrassegnarlo come inattivo.
Throttling di Graph
Microsoft Graph limita il numero di richieste che puoi effettuare in un determinato intervallo di tempo, soprattutto negli ambienti di grandi dimensioni. Negli ambienti estesi, aggiungi ritardi o paginazione.
I servizi NinjaOne a supporto dei flussi di lavoro di pulizia dei dispositivi
Come strumento, NinjaOne supporta la pulizia dei dispositivi inattivi attraverso i seguenti servizi:
- Distribuzione di script di pulizia o di marcatori nel registro di sistema su più dispositivi
- Reporting dei valori di registro (ad esempio CleanupStatus) per il monitoraggio a livello di endpoint
- Avvisi automatizzati sugli endpoint contrassegnati come inattivi o che non hanno effettuato il check-in entro una determinata soglia
- Assegnazione di tag ai dispositivi in base a ruolo, sede o stato per le azioni successive
- Visibilità su tutti i tenant sulla cronologia delle pulizie e sul turnover dei dispositivi
Questi servizi aiutano a colmare il divario tra la pulizia delle identità nel cloud e la gestione operativa degli endpoint.
Mantieni ordinate identità e licenze con audit e rimozioni periodiche dei dispositivi AAD
Controllare regolarmente l’inventario dei dispositivi Azure AD è essenziale per una governance delle identità pulita e per una gestione efficiente delle licenze. Questa guida ha spiegato come usare PowerShell per esportare il file CSV di partenza e quali sono i passaggi successivi per rimuovere in modo efficiente i dispositivi inattivi.
Argomenti correlati:
