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.




NOTA: si bien el procedimiento ha sido útil para la mayoría de las situaciones reportadas, es justo decir que hay ocasiones en que esto no funciona. Si lo deseas, puedes dejar los comentarios de tu experiencia al pie de la publicación. Un saludo :)

23 comentarios:

  1. Men no se ejecuta como administrador ya que,cree un bat que elimine archivos de la carpeta program files y con el codigo que subiste lo ejecute y se ejecuto como usuario normal ya que me denego eliminar esos archivos cuando logro ejecutarse mi bat.

    ResponderEliminar
    Respuestas
    1. Muy buenas; muchas gracias por tomarte la molestia de hacer una devolución sobre el procedimiento.
      Ya me habían comentado alguna cosa parecida, sí. Afortunadamente, es mucho mayor la cantidad de gente que lo hace funcionar que la que no lo logra.
      Creo que funciona para muchos casos, pero no para otros. En mi caso, sí funcionó cuando lo necesité.
      De todas maneras, voy a aclarar esto en el post (no es algo que yo haya "inventado", sino algo que encontré y me sirvió, y por eso lo compartí).
      Muchas gracias por tu buena voluntad, ¡un abrazo!

      Eliminar
  2. Respuestas
    1. Lamento que haya sido así.
      En mi caso, me sigue dando resultado hasta el día de hoy.
      Si hay algo en lo que pueda ayudarte, escribe y hacemos el intento.

      Eliminar
  3. tengo una laptop bloqueada por un admin y nno tengo acceso al cmd admin, me ayudas en so?

    ResponderEliminar
    Respuestas
    1. Hola. Normalmente eso se hace iniciando la máquina desde un pen drive con Hiren's Boot CD y ejecutando alguno de los programas que trae el "Hiren's" para eliminar la contraseña del usuario administrador.

      Eliminar
    2. También podés probar poniendo en el cmd de Windows esta línea:

      cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" "c/:windows/system32/cmd.exe"

      Eliminar
    3. Creo que no se necesita cd para quitar una contraseña de admin. Si tu pc es windows 10, cuando arranque y salga el ícono de windows o el de tu pc y esté iniciando windows, presiona f11 varias veces hasta que llegue a las opciones de recuperación. Llegas y eliges solucionar problemas > opciones avanzadas > símbolo del sistema y pones los comandos

      D:
      cd Windows/System32
      rename osk.exe osk.old
      rename cmd.exe osk.exe

      Ahora reinicias el pc y en los perfiles te vas a las opciones de accesibilidad > teclado en pantalla y pones el comando

      net user nombredeusuario *

      El resto lo haces vos

      Espero que esto les sirva

      Eliminar
    4. Conozco ese método. Es otra de las opciones válidas para este caso. Como siempre, en Informática hay más de un camino para llegar al mismo lugar. Depende de cada uno de nosotros cuál escoger y cuál recomendar, según el sentido común.

      Eliminar
  4. No funcionó esto: cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" "c:/windows/system32/cmd.exe"

    Lo digité, se abre la ventana del cmd e inmediatamente se cierra sola.

    Gracias por el intento.

    ResponderEliminar
    Respuestas
    1. Lamento que no te haya sido útil.
      Gracias a ti por probarlo y dejar tu comentario.
      Un abrazo :)

      Eliminar
    2. Te invito a que leas mi blog, ya casi lo termino.
      https://todosobrenavashield.blogspot.com
      Deja un comentario sobre cosas que puedo mejorar
      Está muy interesante tu blog.

      Eliminar
    3. Gracias, Andrew.
      Dale duro al tuyo, también.
      Solo con constancia, tiempo y pasión por lo que hacemos, es que se construyen buenos espacios en línea.
      Éxitos con el blog, y gracias nuevamente por tus palabras y tu confianza.

      Eliminar
  5. Genial muchas gracias, me funciono a la perfección

    ResponderEliminar
  6. Genial me funciono sin problemas, simplemente necesitaba instalar Zoom y no podia. Gracias!

    ResponderEliminar
    Respuestas
    1. Me alegra mucho, Ely, que esta información te haya sido útil, especialmente en este complejo momento que estamos viviendo y con ese tipo de aplicación. Un saludo :)

      Eliminar
  7. Muchas Gracias me funciono a la perfección. saludos

    ResponderEliminar
  8. muchas gracias, me ha funcionado a la perfección en windows 10
    saludos

    ResponderEliminar
  9. muchas gracias, me ha funcionado a la perfección en windows 10
    saludos

    ResponderEliminar
    Respuestas
    1. Me alegra que así haya sido, mj.
      Muchas gracias por el comentario.
      Un abrazo :)

      Eliminar
  10. Claro, el caso es que usted abrió un fichero .bat desde una carpeta del sistema, por eso a lo mejor le funcionó el comando, pero mi caso es que estoy usando una memoria USB con autorun, del cual abrirá a un fichero .bat con el comando que ha mencionado, y lo redirige a otro .bat dentro todo de la unidad, probé el último .bat para ver si usando un comando de creación masiva de usuarios me dejaba patinarlo y tal, pero no funcionó. Lo que pienso es que el comando permite ejecutar ficheros .bat que están alojados en las carpetas del sistema. Si sabe como puedo hacer que me funcione desde un USB me ayudarías mucho.

    ResponderEliminar
    Respuestas
    1. Es muy interesante lo que estás intentando lograr.
      Pregunta algo tonta, pero que no está de más... ¿Qué sucede cuando indicas el camino (path) desde (o hacia) el pen drive? ¿Es ese el problema (permisos) u otro?

      Eliminar