¿Cómo puedo saber si un proceso se está ejecutando con permisos de administrador?

44

Estoy usando Windows Vista, con UAC habilitado. Instalé una aplicación y el instalador requirió privilegios de administrador. El instalador luego inició la aplicación. Me gustaría saber si la aplicación continúa ejecutándose con privilegios de administrador.

He intentado el Administrador de tareas de Windows y el Explorador de procesos, y ninguno de los dos muestra esta información.

Tim
fuente
Para el sistema operativo actualizado, consulte esta pregunta . La pestaña Detalles del administrador de tareas tiene una columna elevada opcional.
Hans Vonn

Respuestas:

43

En el Explorador de procesos , haga doble clic en el proceso para abrir sus propiedades. Vaya a la pestaña Seguridad . En la lista del grupo, busque BUILTIN \ Administrators y mire lo que dice en la columna Banderas .

Denegar = No elevado (no administrador)

texto alternativo

Propietario = Elevado (es administrador)

texto alternativo

Ryan Bolger
fuente
44
En mi sistema Windows 7, tuve que ejecutar Process Explorer con permisos elevados para poder ver ciertos detalles (como los permisos de Seguridad) de los procesos que se ejecutan con permisos de administrador. Al ejecutar Process Explorer como usuario normal, el contenido de la pestaña Seguridad estaba en blanco.
Anthony G - justicia para Monica
Nada de esto existe en Win10; use sysinternals (@Tim), agregue "nivel de integridad" a las columnas para los procesos.
user15507
1
Win8 y superior siempre han tenido una columna opcional en el Administrador de tareas llamada Elevado que muestra sí o no. Esto está en la pestaña Detalles, por supuesto.
Adam Caviness
39

En Process Explorer, puede cambiar las columnas que se muestran y agregar la columna "Nivel de integridad" desde la pestaña "Imagen de proceso":

ingrese la descripción de la imagen aquí

Aparentemente, este es el término técnico para lo que cambia cuando ejecuta un proceso con privilegios de administrador. Si ejecuta Process Explorer como administrador, mostrará los procesos ordinarios como nivel de integridad 'medio' y los procesos elevados como 'alto'.

Tenga en cuenta que si ejecuta Process Explorer como un usuario normal, mostrará los procesos que tienen privilegios de administrador con una entrada en blanco en la columna de nivel de integridad.

Tim
fuente
Además, cuando se ejecuta un programa específico como administrador y el explorador de procesos como usuario normal, el explorador de procesos no mostrará el ícono verdadero del proceso, sino un ícono en blanco.
Nikos
+ 1 por tu respuesta
BattleTested
3

Actualización con los sistemas operativos: Resource Monitor, que creo que se incluye con Windows 7 y Windows 10 (no estoy seguro acerca de Vista) tiene una columna opcional 'Elevado' en la sección de lista de procesos de la pestaña CPU que parece ser bastante precisa.

stackuser83
fuente
0

Si prefiere usar herramientas de línea de comandos, la utilidad Accesschk de la suite MS Sysinternals se puede usar para verificar si un proceso se está ejecutando con permisos de administrador.

Las siguientes banderas son útiles para este propósito:

  • La -popción (proceso) acepta el nombre o el PID de un proceso en ejecución.

  • La -vopción (detallada) imprime el nivel de integridad de Windows

  • La -qopción (silenciosa) evita que se imprima la información de la versión.

  • La -fopción (completa) también se puede utilizar para proporcionar aún más información sobre los procesos (detalles de token de seguridad de usuarios, grupos y privilegios), pero este nivel de detalles adicionales no es necesario para verificar privilegios elevados.

Ejemplo

Enumere los privilegios de todos los cmdprocesos en ejecución :

> 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.

Aquí, podemos ver que hay tres cmdprocesos que comencé. Los dos primeros tienen un nivel medio obligatorio (integridad) y se muestran como ejecutados en mi cuenta de dominio, lo que indica que estos procesos se iniciaron sin privilegios de administrador.

Sin embargo, el último proceso (PID 6636) se inició con permisos elevados, por lo que mi comando no privilegiado no puede leer información sobre ese proceso. La ejecución con permisos elevados accesschky la especificación explícita de su PID imprime la siguiente información:

> 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

Ahora podemos ver que el nivel de integridad es alto y que este proceso se ejecuta bajo el Administratorsgrupo de seguridad incorporado.

Anthony G - justicia para Monica
fuente