/
/

Come identificare i processi eseguiti come amministratore in Windows 10

di Team Ninja
How to Identify Administrator-Run Processes in Windows 10 blog banner image

Riepilogo

Questo post del blog NinjaOne offre un elenco completo di comandi CMD di base e un’analisi approfondita dei comandi di Windows con oltre 70 comandi cmd essenziali sia per i principianti che per gli utenti avanzati. La guida si propone si piegare in modo pratico i comandi del prompt dei comandi per la gestione dei file, la navigazione nelle directory, la risoluzione dei problemi di rete, le operazioni su disco e l’automazione, con esempi reali per migliorare la produttività. Che tu voglia imparare i comandi cmd fondamentali o padroneggiare gli strumenti avanzati della CLI di Windows, questa guida ti aiuterà a utilizzare il Prompt dei comandi in modo più efficace.

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.

  1. Apri Gestione attività. Premi Ctrl + Maiusc + Esc oppure fai clic con il pulsante destro sulla barra delle applicazioni e seleziona Gestione attività dal menu.
  2. Fai clic sulla scheda Dettagli.
  3. Fai clic con il pulsante destro su una delle intestazioni di colonna e scegli Seleziona colonne.
  4. 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.

  1. 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ì.
  2. 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.

Comandi PowerShell del metodo 2 per identificare i processi eseguiti come amministratore
Risultati di PowerShell del metodo 2

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.

FAQs

Se usi un dispositivo con Windows 10 versione 1809 o successiva, attivare la colonna “Con privilegi elevati” in Gestione attività è un metodo affidabile per verificare quali processi sono in esecuzione con diritti di amministratore. Questo metodo non è però disponibile nelle build precedenti, per le quali devi usare PowerShell o il Prompt dei comandi.

No, le richieste di UAC sono in sostanza richieste di elevazione. Un processo è elevato solo se approvi la richiesta oppure se viene avviato da una sessione già elevata. Se rifiuti la richiesta, il processo non verrà eseguito con accesso da amministratore.

Sì. Puoi incorporare un file manifest in un eseguibile oppure usare Start-Process con il parametro -Verb Runas per gli script PowerShell. In questo modo l’elevazione può essere richiesta o imposta in modo coerente, il che è particolarmente utile negli strumenti di distribuzione, nelle attività di automazione e nelle applicazioni sicure.

Ti potrebbe interessare anche

Pronto a semplificare le parti più complesse dell'IT?

Termini e condizioni NinjaOne

Cliccando sul pulsante “Accetto” qui sotto, dichiari di accettare i seguenti termini legali e le nostre condizioni d’uso:

  • Diritti di proprietà: NinjaOne possiede e continuerà a possedere tutti i diritti, i titoli e gli interessi relativi allo script (compreso il copyright). NinjaOne ti concede una licenza limitata per l’utilizzo dello script in conformità con i presenti termini legali.
  • Limitazione d’uso: Puoi utilizzare lo script solo per legittimi scopi personali o aziendali interni e non puoi condividere lo script con altri soggetti.
  • Divieto di ripubblicazione: In nessun caso ti è consentito ripubblicare lo script in una libreria di script appartenente o sotto il controllo di un altro fornitore di software.
  • Esclusione di garanzia: Lo script viene fornito “così com’è” e “come disponibile”, senza garanzie di alcun tipo. NinjaOne non promette né garantisce che lo script sia privo di difetti o che soddisfi le tue esigenze o aspettative specifiche.
  • Assunzione del rischio: L’uso che farai dello script è da intendersi a tuo rischio. Riconosci che l’utilizzo dello script comporta alcuni rischi intrinseci, che comprendi e sei pronto ad assumerti.
  • Rinuncia e liberatoria: Non riterrai NinjaOne responsabile di eventuali conseguenze negative o indesiderate derivanti dall’uso dello script e rinuncerai a qualsiasi diritto legale o di equità e a qualsiasi rivalsa nei confronti di NinjaOne in relazione all’uso dello script.
  • EULA: Se sei un cliente NinjaOne, l’uso dello script è soggetto al Contratto di licenza con l’utente finale (EULA) applicabile.