¿Cómo comprobar si un programa está configurado para ejecutarse como administrador?

¿Cómo comprobar si un programa está configurado para ejecutarse como administrador?

Parece que hay toneladas de hilos que preguntan cómo verificar si un programa se está ejecutando como administrador o cómo configurar un programa para que se ejecute como administrador en Windows, pero mi pregunta es ¿Cómo puedo verificar si un programa está configurado para ejecutarse como administrador sin ¿Está realmente funcionando? También necesito poder comprobar esto de forma automática.

Sé que puedo hacer clic derecho en un exe y verificar si un programa está configurado para ejecutarse como administrador, pero necesito una forma de verificarlo automáticamente, ya que una aplicación que estoy ejecutando necesita saber si un determinado .exe está configurado para ejecutarse como administrador o no y tomar una decisión basada en esa propiedad.

Respuesta1

Hay dos lugares en la interfaz de usuario estándar de Windows para saber si un ejecutable o un acceso directo está configurado para ejecutarse como administrador.

Abra las propiedades del archivo/acceso directo y luego...

  1. Paraatajossolo haga clic en el botón Avanzado y vea la bandera Ejecutar como administrador.
  2. Para ambosarchivos ejecutablesyatajosAbra la pestaña Compatibilidad.

Los ajustes en estas dos ubicaciones tienen el mismo efecto, pero no son los mismos.

La primera es una propiedad del atajo y está vinculada al atajo. Puede probar esto configurando la propiedad en un acceso directo en una ubicación de red y luego ejecutando el acceso directo en una computadora diferente. Se le solicitará la elevación antes de ejecutar el acceso directo.

El segundo (Compatibilidad) se almacena en el registro de la computadora en la que está configurado, y las configuraciones realizadas en una computadora no serán visibles automáticamente en otra computadora sin algún otro mecanismo para propagar estas configuraciones. Estos se almacenan en dos ubicaciones en el registro para aplicaciones por usuario o para todos los usuarios:

Todos los usuarios:HKLM\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

Por usuario:HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

Estos se pueden leer mediante programación y en scripts utilizando los componentes estándar listos para el Registro disponibles en el idioma preferido.

información relacionada