viernes, 24 de marzo de 2017

Ejecutar como administrador (en Windows) sin serlo

Hoy encontré una solución para ejecutar programas que requieren privilegios administrativos, desde cuentas de usuario estándar en Windows.
Existen algunas maneras, esta es solo una de ellas, y pese a que funcionó a la perfección en Windows 7 Profesional de 64 bits, francamente no sé si lo mismo ocurrirá con otros Sistemas Operativos de Microsoft.

Una simple línea hace la magia:

cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" "[RUTA_AL_PROGRAMA_EJECUTABLE]""

Si abrimos una ventana de consola ("cmd") e introducimos esa línea (sustituyendo "[RUTA_AL_PROGRAMA_EJECUTABLE]" por la ruta absoluta al programa de nuestro interés), el programa se ejecutará, aún cuando el usuario que estemos utilizando en ese momento sea un usuario "normal" o "sin privilegios" (no administrador).

Para no tener que realizar estos pasos cada vez que queramos utilizar dicha aplicación (abrir una ventana de consola, introducir todo este código memorizando la ruta al programa, etc.), podemos crear un archivo batch "bat", que se encargue de realizar todo esto por nosotros.

Si además, colocamos este archivo "bat" en un lugar determinado y creamos un acceso directo en el Escritorio, podemos cambiarle el ícono al acceso directo (utilizando para ello el ícono original de la aplicación en cuestión), y nadie se dará cuenta a simple vista, que ese no es el ícono original del programa. Por lo tanto, nuestro acceso directo al archivo "bat" que ejecutará el programa "x" como superusuario desde un usuario "simple", pasará a ser el ícono del programa en sí.

Espero que este brevísimo artículo te haya sido útil.


Comparto, desde Google Drive, el archivo "bat" creado por mí (para ser modificado según la necesidad de quien lo descargue), en donde figuran los créditos correspondientes.