Come posso sapere se un processo è in esecuzione con le autorizzazioni di amministratore?


44

Sto usando Windows Vista, con UAC abilitato. Ho installato un'applicazione e il programma di installazione ha richiesto i privilegi di amministratore. Il programma di installazione ha quindi avviato l'applicazione. Vorrei sapere se l'applicazione continua a funzionare con i privilegi di amministratore.

Ho provato Task Manager di Windows e Process Explorer, e nessuno dei due sembra mostrare queste informazioni.


Per il sistema operativo aggiornato, vedere questa domanda . La scheda Dettagli di Task Manager ha una colonna Elevata opzionale.
Hans Vonn,

Risposte:


43

In Process Explorer , fare doppio clic sul processo per aprire le sue proprietà. Vai alla scheda Sicurezza . Nell'elenco dei gruppi, trova BUILTIN \ Administrators e osserva cosa dice nella colonna Flags .

Nega = Non elevato (non amministratore)

testo alternativo

Proprietario = Elevato (è admin)

testo alternativo


4
Sul mio sistema Windows 7, ho dovuto eseguire Process Explorer con autorizzazioni elevate per poter vedere alcuni dettagli (come le autorizzazioni di sicurezza) dei processi in esecuzione con autorizzazioni di amministratore. Durante l'esecuzione di Process Explorer come utente normale, i contenuti della scheda Sicurezza erano vuoti.
Anthony G - giustizia per Monica

Niente del genere esiste in Win10; usa sysinternals (@Tim), aggiungi "livello di integrità" alle colonne per i processi.
user15507

1
Win8 e versioni successive hanno sempre avuto una colonna opzionale in Task Manager denominata Elevated che visualizza yes o no. Questo è ovviamente nella scheda Dettagli.
Adam Caviness,

39

In Process Explorer è possibile modificare le colonne visualizzate e aggiungere la colonna "Livello di integrità" dalla scheda "Immagine di processo":

inserisci qui la descrizione dell'immagine

Questo è apparentemente il termine tecnico per ciò che viene modificato quando si esegue un processo con privilegi di amministratore. Se si esegue Process Explorer come amministratore, mostrerà i processi ordinari come livello di integrità "medio" e i processi elevati come "alti".

Notare che se si esegue Process Explorer come utente normale, mostrerà i processi con privilegi di amministratore con una voce vuota nella colonna del livello di integrità.


Inoltre, quando si esegue un programma specifico come amministratore ed esploratore di processo come utente normale, esploratore di processo non visualizzerà la vera icona del processo, ma un'icona vuota.
Nikos,

+ 1 per la tua risposta
BattleTested

3

Aggiornamento con i sistemi operativi: Resource Monitor, che credo sia incluso in Windows 7 e Windows 10 (non sono sicuro di Vista) ha una colonna 'Elevata' opzionale nella sezione dei processi della scheda CPU che sembra essere abbastanza accurata.


0

Se si preferisce utilizzare gli strumenti da riga di comando, è possibile utilizzare l' utilità Accesschk della suite MS Sysinternals per verificare se un processo è in esecuzione con autorizzazioni di amministratore.

I seguenti flag sono utili a questo scopo:

  • L' -popzione (processo) accetta il nome o il PID di un processo in esecuzione.

  • L' -vopzione (dettagliata) stampa il livello di integrità di Windows

  • L' -qopzione (silenzioso) impedisce la stampa delle informazioni sulla versione.

  • L' -fopzione (completa) può anche essere utilizzata per fornire ulteriori informazioni sui processi (dettagli del token di sicurezza di utenti, gruppi e privilegi) ma questo livello di dettagli aggiuntivi non è richiesto per verificare la presenza di privilegi elevati.

Esempio

Elencare i privilegi di tutti i cmdprocessi in esecuzione :

> accesschk.exe -vqp cmd

[5576] cmd.exe
  Medium Mandatory Level [No-Write-Up, No-Read-Up]
  RW ICS\Anthony
        PROCESS_ALL_ACCESS
  RW NT AUTHORITY\SYSTEM
        PROCESS_ALL_ACCESS
[8224] cmd.exe
  Medium Mandatory Level [No-Write-Up, No-Read-Up]
  RW ICS\Anthony
        PROCESS_ALL_ACCESS
  RW NT AUTHORITY\SYSTEM
        PROCESS_ALL_ACCESS
Error opening [6636] cmd.exe:
Access is denied.

Qui, possiamo vedere che ci sono tre cmdprocessi che ho iniziato. I primi due hanno un livello medio obbligatorio (integrità) e sono mostrati in esecuzione con il mio account di dominio, indicando che questi processi sono stati avviati senza privilegi di amministratore.

Tuttavia, l'ultimo processo (PID 6636) è stato avviato con autorizzazioni elevate, pertanto il mio comando non privilegiato non è in grado di leggere informazioni su tale processo. L'esecuzione con autorizzazioni elevate accesschke la specifica esplicita del suo PID stampa le seguenti informazioni:

> accesschk.exe -vqp 6636

[6636] cmd.exe
  High Mandatory Level [No-Write-Up, No-Read-Up]
  RW BUILTIN\Administrators
        PROCESS_ALL_ACCESS
  RW NT AUTHORITY\SYSTEM
        PROCESS_ALL_ACCESS

Ora possiamo vedere che il livello di integrità è elevato e che questo processo è in esecuzione Administratorsnel gruppo di sicurezza integrato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.