Deshabilitar el indicador UAC para aplicaciones específicas en Windows 10

En este artículo, mostraremos cómo deshabilitar selectivamente UAC para una aplicación específica sin deshabilitar por completo el servicio de Control de cuentas de usuario. Considere varias formas de desactivar UAC para una aplicación usando el RunAsInvoker bandera de compatibilidad.

El Control de cuentas de usuario solicita al usuario que confirme cualquier acción que requiera privilegios de administrador. Este es un mecanismo bastante eficaz para proteger Windows de una serie de amenazas (virus, troyanos, gusanos, rootkits, etc.). Algunos usuarios encuentran molestos las ventanas emergentes de UAC y prefieren deshabilitar esta función de seguridad, aunque Microsoft y los expertos en seguridad recomiendan encarecidamente no hacerlo.

La bandera RunAsInvoker le permite ejecutar la aplicación con un marcador heredado del proceso principal. Esto cancela el procesamiento del manifiesto de la aplicación y el descubrimiento de los procesos del instalador. Este parámetro no proporciona privilegios de administrador, pero solo omite el indicador de UAC.

Como ejemplo, deshabilitaremos el indicador de Control de cuentas de usuario para el editor de registro (regedit.exe). A pesar de que mi cuenta tiene privilegios de administrador local, cuando ejecuto la utilidad, todavía aparece una solicitud de UAC para confirmar el inicio.

aviso de la uac

Si el programa requiere permisos de administrador, ya que cambia la configuración del sistema o los archivos, los privilegios de usuario en la aplicación no se elevarán después de deshabilitar UAC. El programa seguirá ejecutándose con los permisos de usuario actuales y, si no tiene la autoridad para realizar estos cambios, el programa no podrá realizarlos. También hay una pequeña cantidad de aplicaciones que se ejecutan solo en modo «Como administrador», ignorando el indicador de compatibilidad RunAsInvoker.

Deshabilitar UAC para un programa que usa el kit de herramientas de compatibilidad de aplicaciones

Necesitamos instalar el kit de herramientas de compatibilidad de aplicaciones, que es parte de Windows ADK. Descargue la última versión de Windows ADK para Windows 10 aquí.

Ejecute el archivo adksetup.exe y durante la instalación (el programa necesita acceso a Internet), seleccione solo el Herramientas de compatibilidad de aplicaciones Articulo.

Herramientas de compatibilidad de aplicaciones de Microsoft es un conjunto gratuito de herramientas para solucionar problemas de compatibilidad de aplicaciones al migrar a las nuevas versiones de Windows.

instalar herramientas de compatibilidad de aplicaciones en windows 10

Hay dos versiones de Administrador de compatibilidad de aplicaciones en el sistema: 32 bits y 64 bits. Ejecute la versión del Administrador de compatibilidad de aplicaciones según el valor de bits de la aplicación para el que desee deshabilitar la solicitud de UAC.

ejecutar el Administrador de compatibilidad de aplicaciones - 32 bits en Windows 10

Ejecute el Administrador de compatibilidad (32 bits) con privilegios de administrador (!). En el Bases de datos personalizadas nodo, clic derecho Nueva base de datos y seleccione Crear nuevo -> Corrección de la aplicación.

crear arreglo de aplicación

En la siguiente ventana, ingrese el nombre de la aplicación (regedit), el nombre del proveedor (Microsoft) y la ruta al archivo ejecutable (C: Windows System32 regedit.exe).

seleccione ejecutable para ser reparado

Omita la siguiente ventana (Modo de compatibilidad) del asistente de configuración presionando próximo. En el Correcciones de compatibilidad ventana, marque la opción RunAsInvoker.

Puede asegurarse de que la aplicación se pueda ejecutar sin UAC presionando el Prueba de funcionamiento botón.

Opción RunAsInvoker

En el Información coincidente cuadro de diálogo, puede especificar qué parámetros de la aplicación deben comprobarse (versión, suma de comprobación, tamaño, etc.). Dejé marcadas las opciones COMPANY_NAME, PRODUCT_NAME y ORIGINAL_FILENAME para evitar la recreación del archivo de parche de compatibilidad después de la próxima actualización de Windows 10.

Información de coincidencia de archivos ejecutables

Consejo. Para protegerse contra la falsificación del ejecutable por parte de un pirata informático, puede solicitar comprobaciones adicionales al ejecutar el archivo (por ejemplo, verificación CHECKSUM, FILE_VERSION o FILE_SIZE, etc.). Cabe señalar que las comprobaciones adicionales ralentizarán el inicio de la aplicación.

Hacer clic Terminar y especifique el nombre del archivo en el que se debe guardar el paquete de corrección de compatibilidad, por ejemplo, regedit.sdb. Este archivo contendrá instrucciones para iniciar la aplicación con las opciones de compatibilidad especificadas.

guardar la corrección de compatibilidad de aplicaciones en el archivo sdb

Ahora solo tienes que aplicar el paquete de corrección de compatibilidad a nuestra aplicación. Puede hacerlo desde la consola del Administrador de compatibilidad (eligiendo Instalar en pc en el menú) o desde el símbolo del sistema.

archivo sdb de compatibilidad intall

Para hacerlo, ejecute el símbolo del sistema elevado y ejecute el siguiente comando:

sdbinst -q c:psregedit.sdb

Si lo ha hecho bien, aparecerá un mensaje de instalación correcta del paquete.

Installation of regedit complete.

instalar el archivo sdb con la herramienta sdbisnt

Una vez instalado el paquete, el registro correspondiente aparecerá en la lista de programas de Windows instalados (Programas y características).

aplicación sdb en Programas y características en Windows 10

Intente ahora ejecutar la aplicación en una sesión de usuario sin permisos de administrador local. Ahora debería comenzar sin una solicitud de UAC.

Ahora verifique los privilegios para ejecutar la aplicación. Ejecute el Administrador de tareas, vaya a la pestaña Proceso, agregue la columna «Elevado». Asegúrese de que el proceso regedit.exe se inicie desde el usuario en el modo sin privilegios (Elevado = No).

proceso de regedit no elevado en el contexto del usuario

En este proceso de editor de registro, el usuario solo puede editar sus propias claves y parámetros de registro. Pero si intenta editar / crear algo en la clave HKLM del sistema, aparece un error: «No tiene los permisos necesarios».

No tienes los permisos necesarios

Posteriormente, esta corrección de compatibilidad se puede distribuir a todos los equipos de los usuarios mediante las políticas de grupo. Por lo tanto, puede deshabilitar las comprobaciones de UAC para las aplicaciones específicas en varias computadoras en un dominio de Active Directory.

Para eliminar la corrección de compatibilidad, ejecute el comando:

sdbinst –u c:psregedit.sdb

Habilite la bandera de la aplicación RunAsInvoker a través del registro

Puede habilitar la marca de compatibilidad RUNASINVOKER en Windows 10 / 8.1 / 7 a través del registro. El indicador de compatibilidad de la aplicación se puede configurar para uno o para todos los usuarios de computadoras.

Por ejemplo, para la aplicación regedit, debe crear un nuevo parámetro de registro (REG_SZ) en la siguiente clave de registro HKEY_CURRENT_USER Software Microsoft Windows NT CurrentVersion AppCompatFlags Layers:

  • Nombre del valor: C: windows regedit.exe
  • Datos de valor: RunAsInvoker

Parámetro de la aplicación RunAsInvoker a través del registro

Si desea habilitar el modo de compatibilidad de aplicaciones para todos los usuarios de computadoras locales, debe crear este parámetro en la clave de registro diferente:

HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows NT CurrentVersion AppCompatFlags Layers.

En el dominio, puede importar / implementar estas configuraciones de registro para los usuarios a través de un GPO.

Murciélagoch archivo para ejecutar la aplicación en el modo RunAsInvoker

Hay otra forma de ejecutar el programa sin privilegios de administrador y sin pasar por el indicador de UAC (consulte el artículo).

Simplemente cree un archivo .bat con el siguiente código:

Set ApplicationPath="C:windowsregedit.exe"
cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %ApplicationPath%"

bat para omitir el indicador de uac

Cuando este archivo bat se ejecuta bajo un usuario común, la aplicación especificada se iniciará sin un mensaje de UAC.

Entonces, vimos cómo deshabilitar UAC para un programa específico sin deshabilitar completamente el Control de cuentas de usuario. Esto le permitirá ejecutar programas de Windows sin un administrador sin un mensaje de UAC y sin ingresar una contraseña de administrador.

Artículos Interesantes