Hoy no os venimos a hablar del mejor antivirus para Windows, sino que en el artículo de hoy veremos la sintaxis a emplear y algunos ejemplos / casos de uso del comando runas en servidores y equipos cliente basados en Windows.
RUNAS significa en el argot informático de Windows «ejecutar como» y lleva acompañando a los sistemas operativos de Microsoft un montón de años. Esta utilidad de linea de comandos puede utilizarse desde consola (ya sea CMD o Powershell) o bien desde interfaz gráfica -seguro que esta última opción la has visto alguna vez- si por ejemplo intentamos lanzar un programa como administrador (privilegios elevados).
¿Para que sirve runas?
Nos permite lanzar programas -tanto propios como del sistema operativo- y archivos por lotes en nombre de otro usuario. Es decir, como usuario «x» lanzaremos un comando como usuario «y» sin necesidad de iniciar sesión en el equipo con «y». Es algo similar a hacer en Linux lo siguiente:
Como os podéis imaginar es un comando muy útil para administración de sistemas, dado que en ciertos casos necesitaremos iniciar un programa como otro usuario. Esto ocurre normalmente cuando queremos instalar programas que requieren de elevación. Puedes pensar -no sin razón- que para eso está la GUI (interfaz gráfica) pero también podrías encontrarte con servidores «headless» y versiones Windows Server Core, que carecen de la misma.
¿Cómo utilizar runas en Windows?
A continuación discutiremos algunos comandos para runas de uso típico, lanzados desde la línea de comandos del sistema operativo.
El comando para lanzar un programa utilizando las credenciales de otro usuario admite diferentes sintaxis.
Lanzar con usuario local
Lanzar con usuario de dominio
O bien:
Siempre se nos solicitará la contraseña del usuario en cuestión.
El resultado que veremos, tomando como ejemplo para programa el CMD de Windows, es el siguiente:
Veremos como en la ventana que acaba de abrirse aparece cmd (ejecutándose como …), esto quiere decir que el comando ha funcionado correctamente. Usaremos el mismo procedimiento para cualquier programa que queramos abrir desde la consola.
Por ejemplo, para lanzar el Editor de Registro de Windows como administrador:
Lanzar con runas con argumentos adicionales
En este caso la sintaxis sería:
Por ejemplo:
Ejecutar un archivo por lotes
Si queremos ejecutar un archivo por lotes con otro usuario -por ejemplo, administrador- deberemos especificar la ruta completa del comando en la sintaxis (podemos usar variables de entorno):
Tras proporcionar la contraseña ejecutaremos, en nuestro caso, un archivo por lotes que vacía el almacén de credenciales de Windows.
Posibles errores
«La operación solicitada requiere elevación»
Es posible que nos encontremos con errores si, por ejemplo, el ejecutable requiere privilegios de administrador para usarse (texto resaltado).
Para resolver el problema haremos como en el anterior ejemplo, utilizando runas con una cuenta de administrador local o de dominio. Evidentemente, necesitaremos conocer la contraseña de dicha cuenta o no podremos usarlo.
«Este programa está bloqueado por una política de grupo. Para más información contacte con el administrador del sistema»
Esto puede pasar si el administrador de sistemas ha desactivado el inicio de sesión desde el símbolo de sistema. El ajuste responsable se sitúa en el siguiente apartado del Editor de Políticas de Grupo:
Denegar inicio de sesión como proceso por lotes SeDenyBatchLogonRight
Si contamos con derechos de administrador podremos entonces desactivar la directiva. En caso contrario, tendremos que implorar al sysadmin 🙂
«ERROR RUNAS: no se puede ejecutar»
Puede darse también el caso de que encontremos el siguiente mensaje:
ERROR RUNAS: no se puede ejecutar – CMS Start .
1327: Error de inicio de sesión: restricción en la cuenta de usuario. Las posibles causas son que no se permite dejar contraseñas en blanco, restricciones en la hora de inicio de sesión, o una restricción de directiva exigida.
- Cuenta inexistente o deshabilitada: es lo primero que debes comprobar. Lo más normal es que no exista una cuenta con el nombre que estás escribiendo. Si quieres ejecutar algo como administrador y tu cuenta tiene permisos, pon tu nombre de cuenta «pepito» en su lugar.
- Contraseña: no has introducido la contraseña.
- Directivas: como ya comenté, es posible que en tu equipo se hayan cargado directivas que impiden usar esta función.
Ejecutar programa como otro usuario desde la interfaz gráfica
Antes de despedir el artículo de hoy me gustaría recordar un sencillo truco para ejecutar cualquier programa desde el GUI de Windows como otro usuario. Para conseguirlo, solo tenemos que mantener pulsada la tecla SHIFT y hacer clic con el botón derecho del ratón sobre el ejecutable.
Espero que os resulte útil esta información. De ser así, os invito a compartir el artículo con vuestros amigos.