Este artículo explica cómo ejecutar programas a nombre de otro usuario en Windows desde línea de comandos, similar al uso de sudo en sistemas GNU/Linux.



Desde la interfaz gráfica, el menú contextual de Windows ofrece la opción de menú "Run as..." o "Run as administrator" dependiendo de la versión. Sin embargo, veamos cómo correr un programa o herramienta a nombre de otro usuario desde línea de comandos.

Windows no tiene una versión de sudo, sin embargo cuenta con el utilitario runas ("ejecutar como" en inglés). Esta herramienta permite correr programas o abrir aplicaciones como otro usuario. De esta forma es posible correr programas con diferentes permisos a los del usuario logueado en el sistema.

En su uso básico basta con pasar dos parámetros, el nombre de la cuenta de usuario (puede ser un usuario de dominio, anteponiendo el nombre del mismo) y el prgrama a ejecutar junto con todos sus parámetros (usar comillas):

> runas /user:backup "powershell.exe C:\scripts\backup.ps1"

Al ejecutar runas, solicitará la contraseña del usuario especificado, al igual que lo hace sudo en GNU/Linux (a no ser que se utilice l aregla NOPASSWD).

En este ejemplo se lanza el programa powershell.exe con el parámetro C:\scripts\backup.ps1 a nombre del usuario "backup". Como se observa, todos los parámetros del programa a ejecutar deben encerrarse entre comillas dobles, a fin de diferenciarlos de los parámetros de runas.

Esto resulta de gran utilidad para debuggear scripts que se ejecutan desde tareas programadas a nombre de usuarios no privilegiados.

Referencias


Tal vez pueda interesarte


Compartí este artículo