Si parla di device mismatch quando l’utente che sta usando un endpoint è diverso dal proprietario previsto o assegnato. Come nel caso della mancata conformità delle patch, questa situazione può erodere gradualmente la tua postura di sicurezza: per questo gli audit periodici sono indispensabili. Con gli strumenti giusti puoi automatizzare le attività più complesse e ricevere avvisi in tempo reale sugli accessi non corrispondenti.
In questo articolo vedrai come monitorare i casi di device mismatch con gli strumenti integrati e come le moderne soluzioni RMM possono arricchire i tuoi report.
Generare un report sul device mismatch, in modo semplice
Segui questi passaggi per raccogliere i dati sul device mismatch tenendo presenti obiettivi e vincoli tecnici.
📌 Prerequisiti:
- Privilegi di amministratore
- Windows 10/11 o Server 2016+
- PowerShell 5.1 o versione successiva
- Autorizzazioni per la Graph API
- Accesso come amministratore sui dispositivi
- Accesso alle associazioni utente-dispositivo ufficiali (ad esempio Intune, AD, registro delle risorse, CMDB)
- Facoltativo: accesso in scrittura al Registro di sistema per l’assegnazione di tag locali
- Facoltativo: NinjaOne o un RMM equivalente per l’automazione degli script e il reporting
📌 Strategie di distribuzione consigliate:
| Fai clic per passare a un passaggio | 💻 Ideale per singoli utenti | 💻💻💻 Ideale per ambienti enterprise |
| Passaggio 1: identificare l’utente corrente del dispositivo con PowerShell | ✓ | |
| Passaggio 2: recuperare il proprietario previsto da una fonte esterna | ✓ | |
| Passaggio 3: confrontare proprietario effettivo e previsto e segnalare il mismatch | ✓ | ✓ |
| Passaggio 4: registrare i risultati nel Registro di sistema per il monitoraggio continuo | ✓ | |
| Passaggio 5: pianificare e automatizzare l’esecuzione degli script | ✓ | ✓ |
Guarda anche la versione video di Come generare report che evidenziano il device mismatch tra proprietario e dispositivo negli ambienti dei clienti e segui l’intero framework in cinque passaggi.
Passaggio 1: identificare l’utente corrente del dispositivo con PowerShell
Usa i cmdlet più efficaci per individuare rapidamente gli utenti del dispositivo.
📌 Casi d’uso: verificare i log del Registro di sistema del dispositivo per individuare le interazioni utente recenti.
- Premi Win + R, digita PowerShell e premi Ctrl + Maiusc + Invio.
- Per vedere chi ha effettuato l’ultimo accesso al dispositivo, esegui questo comando:
$lastUserSID = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI").LastLoggedOnUserSID
$lastUsername = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI").LastLoggedOnUser
- Per verificare l’ultimo profilo che ha utilizzato il dispositivo, esegui questo comando:
$profiles = Get-CimInstance -ClassName Win32_UserProfile | Where-Object { -not $_.Special }
$lastUsed = $profiles | Sort-Object LastUseTime -Descending | Select-Object -First 1
$lastUsed.LocalPath
Passaggio 2: recuperare il proprietario previsto del dispositivo da una fonte esterna
📌 Casi d’uso: ottenere un elenco accurato dei dispositivi assegnati agli utenti finali.
📌 Prerequisiti: Graph API
- Premi Win + R, digita PowerShell e premi Ctrl + Maiusc + Invio.
- Per recuperare da Intune l’elenco dei proprietari previsti tramite la Graph API, esegui questo comando:
Connect-MgGraph -Scopes "Device.Read.All", "DeviceManagementManagedDevices.Read.All", "User.Read.All"
$device = Get-MgDeviceManagementManagedDevice | Where-Object { $_.DeviceName -eq $env:COMPUTERNAME }
$expectedOwner = $device.UserPrincipalName
- Per generare l’elenco a partire dai dati locali del Registro di sistema, esegui questo comando:
Get-ItemProperty -Path "<KeyPath>" -Name "ExpectedOwner"
Sostituisci <KeyPath> con il percorso della chiave usata per memorizzare i dati di proprietà (ad esempio HKLM:\SOFTWARE\Org\Ownership).
Passaggio 3: confrontare proprietario effettivo e previsto e segnalare il device mismatch
Ecco come automatizzare i controlli sulla corrispondenza del proprietario con gli script PowerShell.
📌 Casi d’uso: rilevare il device mismatch a partire dai record di proprietà.
- Premi Win + R, digita PowerShell e premi Ctrl + Maiusc + Invio.
- Per creare un oggetto report, esegui questo script:
if ($lastUsername -ne $expectedOwner) {
$report = [PSCustomObject]@{
ComputerName = $env:COMPUTERNAME
ActualUser = $lastUsername
ExpectedUser = $expectedOwner
Timestamp = (Get-Date).ToString("u")
Mismatch = $true
}
} else {
$report = [PSCustomObject]@{
ComputerName = $env:COMPUTERNAME
ActualUser = $lastUsername
ExpectedUser = $expectedOwner
Timestamp = (Get-Date).ToString("u")
Mismatch = $false
}
}
- Per esportare i risultati sul device mismatch in un file .csv, esegui questo comando:
$report | Export-Csv "C:\Reports\DeviceOwnerMismatch.csv" -NoTypeInformation
Passaggio 4: registrare i risultati nel Registro di sistema per il monitoraggio continuo
⚠️ Attenzione: la modifica del Registro di sistema può causare problemi al sistema. Crea un backup prima di procedere.
📌 Casi d’uso: conservare nel Registro di sistema una copia dei risultati dell’audit sul device mismatch, per ridondanza.
- Premi Win + R, digita PowerShell e premi Ctrl + Maiusc + Invio.
- Per registrare nel Registro di sistema l’esito dei controlli di proprietà, esegui questo comando:
New-Item -Path "<StoragePath>" -Force
Set-ItemProperty -Path "<StoragePath> -Name "OwnerMismatch" -Value $report.Mismatch
Set-ItemProperty -Path "<StoragePath>" -Name "ActualUser" -Value $report.ActualUser
Set-ItemProperty -Path "<StoragePath>" -Name "ExpectedUser" -Value $report.ExpectedUser
Sostituisci <StoragePath>con il percorso della chiave del Registro di sistema che usi per memorizzare i dati di proprietà (ad esempio HKLM:\SOFTWARE\Org\DeviceAudit).
- Premi Win + R, digita cmd e premi Ctrl + Maiusc + Invio.
- Per confermare le modifiche alle voci del Registro di sistema, esegui:
reg query <StoragePath>
Passaggio 5: pianificare e automatizzare l’esecuzione degli script per rilevare le mancate corrispondenze
📌 Casi d’uso: sfruttare piattaforme esterne per generare report senza interruzioni.
- Premi Win + R, digita PowerShell e premi Ctrl + Maiusc + Invio.
- Per automatizzare i controlli periodici sulla proprietà, esegui questo comando:
schtasks /create /tn "DeviceOwnerAudit" /tr "powershell.exe -File C:\Scripts\CheckOwnerMismatch.ps1" /sc weekly /st 03:00 /ru SYSTEM
- In alternativa, esegui gli script tramite un RMM (ad esempio NinjaOne) per distribuzioni su tutta l’organizzazione.
⚠️ Aspetti a cui prestare attenzione
| Rischi | Possibili conseguenze | Come rimediare |
| La Graph API restituisce dati di proprietà non aggiornati | Dispositivi con proprietà corretta segnalati come non corrispondenti | Verifica i dati con più fonti esterne (ad esempio archivi HR, dati locali del Registro di sistema). |
| Lo script fallisce senza segnalarlo | Avvisi mancanti e casi di device mismatch non rilevati | Applica il controllo di versione agli script PowerShell. |
| Utente identificato in modo errato a causa di una cache dei profili non aggiornata | Falso positivo | Usa il registro degli eventi con Get-WinEvent per controllare la cronologia degli accessi. |
| Errore logico nel confronto tra proprietario effettivo e previsto | Audit poco attendibili e verifiche aggiuntive | Controlla entrambe le variabili prima del confronto e aggiungi controlli sui valori null. |
Aspetti importanti nell’associazione tra user agent e dispositivo
Tieni presenti questi punti chiave mentre raccogli i dati per i report sulla proprietà dei dispositivi.
Postazioni di lavoro condivise
Anche le postazioni usate da più persone vanno considerate nei report sul device mismatch. Per escludere gli ambienti condivisi, come i chioschi dei punti vendita, durante gli audit sulla proprietà, aggiungi il Security Identifier (SID) del relativo account a questa chiave del Registro di sistema:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedPC\Exemptions
Dispositivi solo cloud
Per gli endpoint orientati al cloud, la Microsoft Graph API è la fonte principale per i dati di proprietà. Recupera i proprietari dei dispositivi registrati eseguendo questo comando:
GET /devices/{id}/registeredOwners
Integrazione con il provisioning
L’assegnazione a un utente è un passaggio fondamentale del provisioning dei dispositivi. In questa fase si utilizza il portale Intune oppure i file CSV di Autopilot: tienilo presente se ti servono ulteriori elementi per la risoluzione dei problemi.
Cambiamenti di ruolo
Cambi di mansione, upgrade hardware e utilizzi non autorizzati sono le cause più frequenti di device mismatch. Mantieni i tuoi endpoint sotto controllo con piattaforme di gestione che offrono soluzioni scalabili.
Guida rapida
NinjaOne ti aiuta a generare report che evidenziano il device mismatch tra proprietario e dispositivo negli ambienti dei clienti. La piattaforma offre strumenti e funzionalità di automazione che ti permettono di:
1. Rilevare le mancate corrispondenze con script PowerShell e integrazioni con la Graph API
2. Automatizzare la remediation per risolvere i problemi di proprietà
3. Associare gli user agent ai dispositivi per un tracciamento accurato
4. Semplificare gli audit grazie a funzionalità di reporting complete
Risoluzione dei problemi nei report sulle mancate corrispondenze
Ecco come risolvere i problemi di device mismatch più frequenti per gli MSP.
Proprietario previsto mancante
Se il proprietario previsto del dispositivo non compare, controlla i dati Intune dell’endpoint e verifica che la chiave personalizzata del Registro di sistema usata per tracciare la proprietà (ad esempio HKLM:\SOFTWARE\Org\DeviceOwners) sia popolata.
Chiavi del Registro di sistema non accessibili
Per accedere a determinati percorsi del Registro di sistema o modificarli servono i privilegi di amministratore. Accedi con credenziali di amministratore oppure esegui Start-Process powershell -Verb RunAs per elevare le autorizzazioni.
Più utenti risultano attivi
Quando si esegue Win32_UserProfile capita spesso che vengano mostrati più utenti. Per individuare l’evento di accesso più rilevante, esegui questo comando e ordinali per data e ora:
Get-CimInstance Win32_UserProfile | Sort-Object LastUseTime -Descending | Select-Object -First 1
Timeout della Graph API
Se durante il recupero dei dati dalla Graph API ricevi errori di timeout (ad esempio 429 Too Many Requests), utilizza le intestazioni Retry-After e i parametri $top, $skip e @odata.nextLink.
I servizi NinjaOne semplificano il rilevamento delle mancate corrispondenze
NinjaOne migliora il rilevamento delle mancate corrispondenze grazie a queste funzionalità:
- Rilevamento continuo, 24 ore su 24, e avvisi in tempo reale.
- Distribuzione dei controlli sul device mismatch in tutta l’organizzazione.
- Verifica dei valori del Registro di sistema alla ricerca di flag di mancata corrispondenza
- Raggruppamento dei dispositivi non conformi per la revisione da parte dei tecnici
- Automazione dei flussi di lavoro di remediation (ad esempio riassegnazione del proprietario, creazione di ticket)
- Generazione di report su tutti i tenant per evidenziare e risolvere le deviazioni nella proprietà dei dispositivi
Automatizza la raccolta dati per il tuo report sul device mismatch
Gli strumenti avanzati ti permettono di raccogliere, analizzare e conservare i dati sul device mismatch in tutto il tuo sistema. Inoltre, sfrutta le piattaforme RMM e le loro capacità di automazione per eliminare l’errore umano e applicare soluzioni scalabili come le funzioni personalizzate e i report visuali.
Argomenti correlati:
