¿Windows tiene una lista de "denegar automáticamente la solicitud de elevación" ?
Si un usuario es un "usuario estándar" , es posible que Windows rechace automáticamente cualquier solicitud de elevación cambiando la ConsentPromptBehaviorUser
configuración de la directiva de grupo a Denegar automáticamente las solicitudes de elevación :
Prompt for credentials on the secure desktop.
( Predeterminado ) Cuando una operación requiere la elevación de privilegios, se le solicita al usuario en el escritorio seguro que ingrese un nombre de usuario y contraseña diferentes. Si el usuario ingresa credenciales válidas, la operación continúa con el privilegio aplicablePrompt for credentials
Cuando una operación requiere la elevación de privilegios, se le solicita al usuario que ingrese un nombre de usuario y contraseña administrativos. Si el usuario ingresa credenciales válidas, la operación continúa con el privilegio aplicableAutomatically deny elevation requests
Cuando una operación requiere la elevación de privilegios, se muestra un mensaje de error de acceso denegado configurable. Una empresa que ejecuta escritorios como usuario estándar puede elegir esta configuración para reducir las llamadas a la mesa de ayuda
Esto es útil en una situación en la que un programa podría solicitar elevarse, pero eso requeriría que el tipo del servicio de asistencia ejecute tres edificios (para ingresar sus credenciales por encima del hombro ). Solo una vez que llegan allí, descubren que el usuario no debe ejecutar ese programa.
Queremos que la aplicación se ejecute como un usuario estándar (posiblemente obteniendo errores de acceso denegado ), ya que esa es la respuesta correcta.
Pero esa configuración se aplica a todos los programas que elevan. Es posible que
- marcar un programa o
- agregarlo a una lista
para que se denieguen automáticamente las solicitudes de elevación y se ejecute como usuario estándar?
El problema ocurre cuando un programa se ha equivocado:
- marcado como
requestedExecutionLevel
derequireAdministrator
en su manifiesto incrustado o externo - ha marcado la opción de compatibilidad "Ejecutar este programa tiene un administrador"
- se detecta como un programa de instalación (por ejemplo, se nombra
install
osetup
) a través de laEnableInstallerDetection
heurística
Nota: Suponiendo que la aplicación no tiene manifiesto, uno podría sugerir agregar un manifiesto que indique requestedExecutionLevel: asInvoker
. Esta solución también deshabilitaría la virtualización de archivos y registros para la aplicación.
Ver también
- Prevenir la elevación (UAC) para una aplicación que no la necesita (no se encontró solución)
- ¿Cómo decirle a Windows 7 que una aplicación no necesita ejecutarse con derechos de administrador? (la respuesta para esa situación es agregar un manifiesto )
- Cómo determinar por qué la aplicación solicita elevación
fuente