I processi di Windows possono essere eseguiti con autorizzazioni utente standard oppure con diritti di amministratore elevati. Questa distinzione ha un impatto diretto sul comportamento del sistema, sulle attività amministrative e sulla risoluzione dei problemi. Per questo motivo, amministratori di sistema, power user e tecnici del supporto devono saper distinguere gli uni dagli altri per verificare l’integrità dei processi, la sicurezza e il contesto di elevazione dell’utente. Tutto parte dal capire come identificare i processi eseguiti come amministratore su Windows 10, così da stabilire se sono elevati o se vengono eseguiti con privilegi di amministratore. Continua a leggere per saperne di più.
Come verificare se un processo è elevato in Windows
In base al tuo livello di competenza tecnica, all’ambiente e all’obiettivo, ci sono due modi per verificare se un processo è in esecuzione con privilegi di amministratore in Windows 10.
Metodo 1: usare Gestione attività
Questo metodo offre un controllo visivo rapido per utenti finali e personale di supporto, senza bisogno di script o comandi. Non mostra però informazioni dettagliate. Inoltre, potresti non riuscire a vedere l’elevazione di alcuni processi se non disponi di diritti amministrativi.
Nota: questo metodo funziona solo su Windows 10 versione 1809 e successive.
- Apri Gestione attività. Premi Ctrl + Maiusc + Esc oppure fai clic con il pulsante destro sulla barra delle applicazioni e seleziona Gestione attività dal menu.
- Fai clic sulla scheda Dettagli.
- Fai clic con il pulsante destro su una delle intestazioni di colonna e scegli Seleziona colonne.
- Scorri l’elenco, seleziona l’opzione Con privilegi elevati e fai clic su OK.
Dovresti vedere una nuova colonna chiamata Con privilegi elevati. Il valore Sì indica che il processo è in esecuzione come amministratore, mentre No indica che viene eseguito con privilegi utente standard.
Metodo 2: usare PowerShell
Il metodo con PowerShell è molto flessibile e si presta a essere inserito in script per l’automazione o per attività di audit, ma è più complesso e richiede conoscenze di PowerShell per essere eseguito correttamente.
Nota: sono necessari privilegi di amministratore.
- Apri PowerShell con privilegi elevati. Usa il menu di ricerca nella barra delle applicazioni per trovare PowerShell, fai clic con il pulsante destro e seleziona Esegui come amministratore. Se compare la richiesta di UAC, fai clic su Sì.
- Copia e incolla i comandi qui sotto, quindi premi Invio:
| Add-Type -TypeDefinition @” using System; using System.Runtime.InteropServices; public static class ProcessElevationChecker { [DllImport(“kernel32.dll”, SetLastError = true)] public static extern IntPtr OpenProcess(int processAccess, bool bInheritHandle, int processId); [DllImport(“advapi32.dll”, SetLastError = true)] public static extern bool OpenProcessToken(IntPtr ProcessHandle, int DesiredAccess, out IntPtr TokenHandle); [DllImport(“advapi32.dll”, SetLastError = true)] public static extern bool GetTokenInformation(IntPtr TokenHandle, int TokenInformationClass, out int TokenInformation, int TokenInformationLength, out int ReturnLength); [DllImport(“kernel32.dll”, SetLastError = true)] public static extern bool CloseHandle(IntPtr hObject); const int PROCESS_QUERY_LIMITED_INFORMATION = 0x1000; const int TOKEN_QUERY = 0x0008; const int TokenElevation = 20; public static bool IsProcessElevated(int processId) { IntPtr hProcess = OpenProcess(PROCESS_QUERY_LIMITED_INFORMATION, false, processId); if (hProcess == IntPtr.Zero) return false; IntPtr hToken; if (!OpenProcessToken(hProcess, TOKEN_QUERY, out hToken)) { CloseHandle(hProcess); return false; } int elevation; int size; bool success = GetTokenInformation(hToken, TokenElevation, out elevation, sizeof(int), out size); CloseHandle(hToken); CloseHandle(hProcess); return success && elevation != 0; } } “@ $processList = Get-Process | Sort-Object ProcessName $results = @() foreach ($proc in $processList) { try { $isElevated = [ProcessElevationChecker]::IsProcessElevated($proc.Id) } catch { $isElevated = $null } $results += [PSCustomObject]@{ Name = $proc.ProcessName PID = $proc.Id Elevated = $isElevated } } $results | Format-Table -AutoSize |
Dovresti vedere l’elenco di tutti i processi in esecuzione con i relativi PID (Process Identifier) e lo stato di elevazione attuale. Nella colonna Elevated, il valore True indica che il processo è in esecuzione come amministratore, mentre False indica che viene eseguito con autorizzazioni utente standard.
Nota: se la sessione di PowerShell non è elevata, l’esecuzione di questi comandi restituirà il valore False per ogni processo.


Che cos’è un processo elevato in Windows 10
Un processo elevato in Windows è un’applicazione o un’attività in esecuzione con diritti amministrativi anziché con le autorizzazioni predefinite a livello utente. Questi processi vengono eseguiti a un livello di integrità elevato e possono quindi aggirare molte delle restrizioni imposte alle applicazioni standard. Lo stato di elevazione conferisce al processo l’autorità di apportare modifiche a livello di sistema, come installare software, modificare file protetti, accedere ai dati di altri utenti e intervenire sul registro di sistema.
L’elevazione è gestita dal Controllo dell’account utente (UAC), una caratteristica di Windows che impedisce modifiche non autorizzate al sistema operativo. UAC chiede l’approvazione dell’utente quando questi tenta di avviare un processo che richiede privilegi più elevati. Una volta ottenuto il consenso dell’utente, o se una policy lo consente automaticamente, il privilegio viene concesso e il processo viene avviato in un contesto a integrità più elevata.
Perché verificare l’elevazione
Verificare l’elevazione dei processi in Windows è fondamentale per prevenire modifiche non autorizzate o danni al sistema operativo, perché consente di:
- Risolvere problemi legati a UAC o alle autorizzazioni: se strumenti amministrativi, programmi di installazione e script di sistema che richiedono autorizzazioni elevate vengono eseguiti senza la corretta elevazione, possono fallire senza alcun avviso.
- Garantire contesti di sicurezza corretti negli ambienti multiutente: su macchine condivise o sistemi remoti, i processi elevati possono accedere ad aree sensibili dell’OS e ai dati di altri utenti, quindi un’elevazione involontaria o non autorizzata può rappresentare un rischio per la sicurezza.
- Convalidare gli script di automazione o il comportamento del software: gli script automatizzati e gli strumenti eseguiti senza la corretta elevazione possono fallire o essere eseguiti solo in parte, causando errori di distribuzione e configurazioni di sistema errate.
Casi d’uso
È essenziale sapere quando e perché verificare se un processo è in esecuzione come amministratore, così da garantire stabilità, sicurezza e un comportamento corretto, soprattutto negli ambienti gestiti.
- Convalida degli script: durante lo sviluppo di script amministrativi, l’elevazione è spesso necessaria per eseguire determinate azioni. Se uno script viene eseguito senza privilegi sufficienti, può fallire, generare errori di tipo “Accesso negato” o far sì che il sistema si comporti in modo incoerente.
- Audit di sicurezza: negli ambienti in cui la sicurezza è critica, i processi in esecuzione con privilegi di amministratore possono essere facilmente sfruttati o utilizzati in modo improprio. Verificare l’elevazione aiuta a individuare attività non autorizzate o sospette.
- Formazione degli utenti: gli utenti non tecnici potrebbero non capire quanto sia importante eseguire un’applicazione come amministratore, il che può impedire ad alcune caratteristiche di funzionare correttamente. Il supporto IT può aiutarli a verificare l’elevazione e a riavviare gli strumenti in modo che le caratteristiche funzionino.
Risoluzione dei problemi
Gli utenti possono incontrare difficoltà nel verificare i processi elevati in Windows 10 a causa delle impostazioni di sistema, di restrizioni sulle autorizzazioni o di problemi di compatibilità tra versioni.
Problema: la colonna “Con privilegi elevati” manca in Gestione attività
Come già detto, il metodo con Gestione attività è disponibile solo per Windows 10 versione 1809 o successive. Se hai una versione precedente, valuta un aggiornamento oppure usa PowerShell o il Prompt dei comandi per verificare manualmente l’elevazione.
Problema: PowerShell restituisce “Accesso negato”
Quando PowerShell tenta di accedere alle informazioni sui processi di sistema o su quelli di altri utenti, servono privilegi elevati. Assicurati di eseguire PowerShell come amministratore prima di lanciare script che analizzano l’elevazione dei processi.
Problema: la richiesta UAC non compare
Se la richiesta di UAC non compare, è possibile che UAC sia disattivato o che alcune policy di sistema stiano bloccando le richieste di elevazione. Controlla le impostazioni di UAC in Pannello di controllo > Account utente > Modifica le impostazioni di Controllo dell’account utente e assicurati che il cursore sul lato sinistro sia impostato su “Notifica sempre”. Verifica anche che Criteri di gruppo non abbia disattivato UAC. Segui questo percorso nell’Editor Criteri di gruppo:
Configurazione del computer > Impostazioni di Windows > Impostazioni sicurezza > Criteri locali > Opzioni di sicurezza
Assicurati che policy come “Controllo dell’account utente: esegui tutti gli amministratori in modalità di approvazione amministratore” siano abilitate.
Verificare i processi in esecuzione con diritti di amministratore elevati
Sapere se un processo è in esecuzione con privilegi di amministratore è un’attività importante per amministratori di sistema, power user e professionisti del supporto che gestiscono ambienti Windows. I processi elevati hanno accesso a impostazioni e configurazioni a livello di sistema, quindi verificarne l’elevazione aiuta a garantire la sicurezza, a risolvere i problemi degli script non riusciti e a guidare gli utenti nelle attività amministrative. Gestione attività e PowerShell offrono entrambi un modo per controllare lo stato di elevazione dei processi: scegli sempre il metodo più adatto alle tue conoscenze informatiche e ai tuoi obiettivi.