Cuando se inician, muchos programas requieren la elevación de permisos (escudo en el icono de la aplicación), pero en realidad no necesitan los privilegios de administrador para su funcionamiento normal. Por ejemplo, puede otorgar permisos manualmente a sus usuarios en la carpeta de la aplicación en el Archivos de programa y / o claves de registro utilizadas por el programa. Por lo tanto, al iniciar un programa de este tipo con una cuenta de usuario no administrador, aparecerá un mensaje de UAC y se le pedirá al usuario que ingrese una contraseña de administrador (si el Control de cuentas de usuario está habilitado en la computadora). Para evitar este mecanismo, muchos usuarios simplemente deshabilitan UAC u otorgan privilegios de administrador a un usuario agregando una cuenta de usuario al grupo local "Administradores". Por supuesto, ambos métodos no son seguros.

¿Por qué algunas aplicaciones de Windows no se ejecutan con usuarios estándar y requieren permisos de administrador?

Una aplicación puede necesitar privilegios de administrador para modificar algunos archivos (registros, configuraciones, etc.) en su propia carpeta en C: Archivos de programa (x86) SomeApp. De forma predeterminada, los usuarios no tienen permisos de edición (escritura y modificación) en este directorio. Para que este programa funcione normalmente, se requieren permisos de administrador. Para resolver este problema, debe otorgar manualmente la modificar y / o escribir permiso para un usuario (o el grupo de usuarios integrado) en la carpeta de la aplicación en el nivel del sistema de archivos NTFS.

Nota. En realidad, no se recomienda almacenar los datos cambiantes de la aplicación en su propia carpeta en C: Archivos de programa. Es mejor almacenar los datos de la aplicación en el perfil de usuario. Pero es una cuestión de pereza e incompetencia de los desarrolladores de aplicaciones.

¿Cómo ejecutar un programa que requiere privilegios de administrador con un usuario estándar?

Anteriormente describimos cómo deshabilitar un mensaje de UAC para una aplicación determinada usando RunAsInvoker parámetro. Sin embargo, este método no es lo suficientemente flexible.

También puede usar RunAs con la contraseña de administrador guardada (en el Administrador de credenciales de Windows) usando el /SAVECRED opción. También es inseguro porque el usuario puede usar la contraseña de credenciales de administrador guardada para ejecutar cualquier programa en esta computadora.

Consideremos una forma más fácil de forzar la ejecución de cualquier programa sin privilegios de administrador (sin ingresar la contraseña de administrador) y con UAC habilitado (Nivel 4, 3 o 2 del control deslizante de UAC).

Tomemos el Editor del registro como ejemplo: regedit.exe (se encuentra en la carpeta C: Windows ). Observe el escudo UAC junto al icono de la aplicación. Este icono significa que se solicitará la elevación de privilegios a través de UAC para ejecutar este programa.

escudo uac junto al icono de la aplicación en windows10

Si tu corres regedit.exe, verá una ventana de Control de cuentas de usuario solicitando las credenciales de administrador (Do you want to allow this app to make changes to your device?). Si no proporciona una contraseña y no confirma la elevación, la aplicación no se iniciará.

uac solicita la contraseña de administrador para ejecutar el programa

Intentemos omitir la solicitud de UAC para este programa. Crea el archivo de texto ejecutar como no admin.bat que contiene el siguiente código en su escritorio:

cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %1"

Para forzar la ejecución de regedit.exe sin los privilegios de administrador y para suprimir el indicador de UAC, simplemente arrastre el archivo EXE que desea iniciar a este archivo BAT en el escritorio.

ejecute un programa bajo el usuario con omisión de solicitud de UAC

Luego, el Editor del registro debería iniciarse sin un mensaje de UAC y sin ingresar una contraseña de administrador. Si abre el Administrador de tareas y agrega el Elevado columna, verá que existe el proceso regedit.exe sin el estado elevado (ejecutar con permisos de usuario no administrador).

administrador de tareas no es una aplicación elevada

Intente editar cualquier parámetro en el subárbol de registro HKEY_LOCAL_MACHINE. Como puede ver, un usuario no puede editar el elemento en esta clave de registro (el usuario no tiene permisos de escritura en las claves de registro del sistema). Pero puede agregar o editar claves de registro y parámetros en su sección de usuarios: HKEY_CURRENT_USER.

regedit se ejecuta como usuario estándar sin derechos de administrador

De la misma manera, puede ejecutar cualquier aplicación utilizando el archivo BAT. Simplemente especifique la ruta al archivo ejecutable.

ejecutar-aplicación-como-no-admin.bat
Set ApplicationPath="C:Program FilesSomeApptestapp.exe"
cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %ApplicationPath%"

También puede agregar un menú contextual que permite ejecutar todas las aplicaciones sin elevación. Para hacerlo, cree el archivo RunAsUser.REG, copie el siguiente código en él, guárdelo e impórtelo al registro de Windows haciendo doble clic en el archivo reg (necesitará permisos de administrador para aplicar este cambio).

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT*shellforcerunasinvoker]
@="Run as user without UAC privilege elevation"
[HKEY_CLASSES_ROOT*shellforcerunasinvokercommand]
@="cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" "%1"""

agregue ejecutar sin elevación uac al explorador de archivos en win10

Después de eso, para ejecutar cualquier aplicación sin los privilegios de administrador, simplemente seleccione "Ejecutar como usuario sin elevación de privilegios de UAC”En el menú contextual del Explorador de archivos.

Ejecute el programa como usuario sin elevación de privilegios UAC

Permítame recordarle una vez más que usar el programa en el modo RUNASINVOKER no le permitirá elevar el programa. RunAsInvoker suprime el indicador de UAC y le dice al programa que debe ejecutarse con los permisos del usuario actual y no solicitar la elevación de privilegios. Si un programa realmente necesita privilegios elevados para editar la configuración del sistema o los archivos, no funcionará o volverá a solicitar permisos de administrador.

¿Cómo omitir UAC con RunAsInvoker en __COMPAT_LAYER?

La variable de entorno __COMPAT_LAYER le permite establecer diferentes niveles de compatibilidad para las aplicaciones (el Compatibilidad pestaña en las propiedades de un archivo EXE). Con esta variable, puede especificar la configuración de compatibilidad que se utilizará al iniciar un programa. Por ejemplo, para iniciar una aplicación en modo de compatibilidad con Windows 8 y resolución de 640 × 480, configure lo siguiente:

set __COMPAT_LAYER=Win8RTM 640x480

ejecutar una ap en modo de compatibilidad de Windows

La variable __COMPAT_LAYER tiene algunas opciones que nos interesan. Existen los siguientes parámetros:

  • RunAsInvoker - ejecutar una aplicación con los privilegios de un proceso principal sin el indicador de UAC;
  • RunAsHighest - ejecutar un programa con el permiso de más alto nivel disponible para el usuario (aparecerá el mensaje de UAC si un usuario tiene privilegios de administrador);
  • RunAsAdmin - ejecutar una aplicación como administrador (el mensaje de UAC aparece cada vez).

Significa que el parámetro RunAsInvoker no proporciona los permisos de administrador, sino que solo suprime el indicador de UAC.

El siguiente código CMD habilita el modo RunAsInvoker para el proceso actual y ejecuta el programa especificado sin elevación:

set __COMPAT_LAYER=RUNASINVOKER
start "" "C:Program FilesMyApptestapp.exe"

Habilite el modo RunAsInvoker en el manifiesto de archivo EXE

Como dijimos anteriormente, Windows 10 muestra un icono de escudo UAC para los programas que requieren elevación para ejecutarse. Los desarrolladores establecen este requisito al compilar la aplicación en el programa manifiesto .

Puede editar el manifiesto de cualquier archivo exe y deshabilitar el requisito de ejecutar el programa en modo elevado.

Para editar el manifiesto del programa, puede utilizar el Hacker de recursos herramienta. Abra el archivo ejecutable de la aplicación en Resource Hacker.

En el árbol de la izquierda, vaya a la sección Manifiesto y abra el manifiesto del programa. Preste atención a la siguiente sección xml:

<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>

Es gracias a la requireAdministrator opción que Windows siempre intenta ejecutar este programa como administrador.

Cambiar requireAdministrator a asInvoker y guardar los cambios en el archivo exe.

editar el manifiesto del archivo exe agregar la opción asInvoker

Tenga en cuenta que ahora el escudo UAC ha desaparecido del icono del programa y puede ejecutarlo sin pedir la contraseña de administrador con los permisos de usuario actuales.

eliminar el escudo uac del icono de la aplicación a través del manifiesto

Si el archivo de la aplicación ejecutable está firmado con MS Authenticode (certificado de firma de código), luego de modificar el archivo exe, puede dejar de funcionar o emitir una advertencia.

En este caso, puede obligar al programa a utilizar un archivo de manifiesto externo. Crea un archivo de texto sin formato appname.exe.manifest (por ejemplo, Autologon.exe.manifest) en el directorio con el archivo exe y copie el código de manifiesto de Resource Hacker en él. Cambiar requireAdministrator a asInvoker. Guarde el archivo de manifiesto.

Para que Windows siempre intente utilizar el archivo de manifiesto externo al iniciar archivos exe, habilite un parámetro de registro especial:

REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionSideBySide" /v PreferExternalManifest /t REG_DWORD /d 1 /f

Reinicie Windows y asegúrese de que el programa esté utilizando un archivo de manifiesto externo que indique que se ejecute sin privilegios de administrador.

Recomendado para ti

Bestseller No. 1
Wscoficey 35 Teclas de Teclado una Mano, Teclado de Juego retroiluminado RGB, Mini portátil Juego Controlador con reposamuñecas, diseño ergonómico Compatible con PC/Mac / PS4 / Xbox (Negro)
  • Este teclado profesional de 35 teclas con una sola mano con control avanzado programable te hace sentir más cómodo y crea tu propio teclado especial
  • Mini portátil de 35 teclas, diseño mini que ofrece una experiencia de funcionamiento con una sola mano extremadamente simple
  • Adecuado para tus manos y muñeca, simplifica el complejo procedimiento operativo, vence al rival más rápido en los juegos
  • Teclado compatible con MAC, Win 2000, Win XP, Win ME, Vista, Win7, Win8, Android, Linux y más
  • Brillante: retroiluminación LED, más fresco por la noche
RebajasBestseller No. 2
Pack Gaming Wolf | PC Gaming (AMD Ryzen 5 5500 / 16GB / 500GB SSD M.2 + 1TB / RTX3060 / 27" Curvo + Kit Gaming / WIFI) Windows 11 Pro, Monitor Curvo 27", Teclado, Cascos, Ratón y Alfombrilla XXL
  • Bajo la tapa de esta llamativa caja RGB está el procesador AMD Ryzen 5 5500 tiene una frecuencia de reloj de alto rendimiento de 3,6 GHz y en combinación con la NVIDIA RTX 3060 con 12 GB de VRAM, DLSS y trazado de rayos, ofrece una experiencia gráfica de ensueño que hará que tu corazón se acelere.
  • Gracias a los 16 GB de RAM a 3200 MHz y a la unidad SSD M.2 de 500GB, disfrutarás de los tiempos de carga más cortos y estarás siempre un paso por delante de tus rivales. Para una máxima comodidad, hemos preinstalado Windows 10 Pro en tu PCVIP y también hemos instalado una tarjeta WiFi. Sólo tienes que enchufar el PC, encenderlo y la diversión puede empezar de inmediato.
  • Vas a convertirte en el mejor jugador en un tiempo récord gracias a la mejor configuración de ordenador gaming. No hay límites con nuestro innovador PC Gaming. Mejora tu experiencia de juego con el impresionante rendimiento del hardware de los PC Gaming de Ibericavip
  • Rendimiento de primera clase gracias a la NVIDIA RTX 3060 con 12 GB de VRAM y ray tracing. Además, incluimos un monitor LED Full HD de 27 pulgadas, un teclado gaming RGB y un ratón gaming RGB con la mejor alfombrilla XXL
  • Pantalla: Monitor Gaming Curvo 27" 165 Hz Full HD G-Sync Free Sync Compatible
Bestseller No. 3
Logitech G910 Orion Spectrum Teclado Gaming Mecánico Retroiluminado, RGB LIGHTSYNC, Romer-G Táctil,9 Teclas G, Segunda Pantalla Arx, Disposición QWERTZ Escandinavo, Negro
  • Romer-G Táctil: Los interruptores mecánicos Romer-G exclusivos convierten a Orion Spectrum en el teclado rápido de nuestra historia, una actuación de 1,5 mm permite la entrada de datos en Orion
  • Velocidad y Rendimiento: El teclado con cable USB Logtiech Orion Spectrum ofrece una gran velocidad, con un 40 por ciento de durabilidad para un rendimiento optimo usado con un ratón Logitech
  • RGB LIGHTSYNC: La iluminación RGB de Orion Spectrum se puede personalizar con una paleta de 16 millones de colores, la parte superior de cada tecla está iluminada para un resplandor uniforme
  • Segunda Pentalla Arx: Mediante la base ajustable se pueden conectar Smartphones y tablets a Orion Spectrum, con Arx Control, los dispositivos móviles pueden mostrar información del juego en curso
  • Teclas G Programables: El teclado Orion Spectrum dispone de 9 teclas G totalmente personalizables, a las que se pueden asignar comandos por perfil, colocadas para optimizar el acceso