Cómo ejecutar un programa como un usuario diferente (RunAs) en Windows
Cualquier usuario de Windows puede ejecutar un programa en su sesión actual en nombre de otro usuario utilizando RunAs. Esto le permite ejecutar un script (.bat, .cmd, .vbs, .ps1), un archivo ejecutable .exe o instalar una aplicación (.msi, .cab) con los permisos de otro usuario.
Por ejemplo, puede usar RunAs para instalar aplicaciones o ejecutar complementos de MMC con la cuenta de administrador en una sesión de usuario sin privilegios. Además, puede usar RunAs para ejecutar una aplicación configurada en el perfil de otro usuario (la aplicación cargará su configuración desde el perfil de otro usuario).
Hay varias formas de ejecutar un programa o proceso como otro usuario en Windows.
El servicio de inicio de sesión secundario (
seclogon) es responsable de permitir que los programas se ejecuten como diferentes usuarios en Windows. Si se detiene este servicio, todos los métodos RunAs descritos no funcionarán. Puede comprobar que el servicio se inicia con el siguiente comando de PowerShell:
Get-Service seclogon
¿Cómo ejecutar aplicaciones como un usuario diferente del Explorador de archivos?
La forma más fácil de ejecutar una aplicación con otro usuario es usar la GUI del Explorador de archivos de Windows. Simplemente busque una aplicación (o un acceso directo) que desee iniciar, mantenga presionada la tecla Shift y haga clic derecho sobre ella. Seleccione Ejecutar como otro usuario en el menú contextual.
Nota. Si falta el elemento de menú "Ejecutar como un usuario diferente", desplácese hacia abajo en el artículo.
En la ventana de seguridad de Windows que aparece, debe especificar el nombre y la contraseña del usuario con cuya cuenta desea ejecutar la aplicación y hacer clic en Aceptar.
Nota.
Si desea ejecutar el programa como un usuario de Active Directory, debe especificar su nombre en el userPrincipalName (
UserName@DomainName.com) o samAccountName (
DomainName\UserName) formato ;
Si su computadora está unida a un dominio AD, entonces para ejecutar el programa en nombre de una cuenta de usuario local, especifique su nombre en el siguiente formato:
.\localusername
Importante. Puede ejecutar el programa como otro usuario solo si se ha establecido una contraseña para ese usuario. No podrá usar Runas para un usuario con una contraseña vacía
Abra el Administrador de tareas y asegúrese de que la aplicación se esté ejecutando con la cuenta de usuario especificada.
Comando RunAs: ejecutar un programa con un usuario diferente de CMD
Puede usar la herramienta CLI runas.exe integrada de Windows para ejecutar aplicaciones como un usuario diferente desde el símbolo del sistema. El
runasEl comando también le permite guardar la contraseña del usuario en el Administrador de credenciales de Windows para que no tenga que ingresarla cada vez.
Abra el símbolo del sistema (o la ventana Ejecutar presionando Win+R). Para iniciar Notepad.exe con la cuenta de administrador, ejecute este comando:
runas /user:admin "C:\Windows\notepad.exe"Consejo. Si el nombre de usuario contiene espacios, debe estar entre comillas:
runas /user:"antony jr" notepad.exeEn la siguiente ventana, aparece el mensaje "Ingrese la contraseña para el administrador", donde debe ingresar la contraseña del usuario y presionar Entrar.
Su aplicación debería comenzar. En mi caso, este es cmd.exe. El título de la ventana dice “ejecutándose como PCName\username“:
Por ejemplo, puede abrir el Panel de control con un usuario diferente:
runas /user:admin controlSi necesita ejecutar un programa como usuario de dominio, use el siguiente formato de nombre
UserName@DomainNameo
DomainName\UserName. Por ejemplo, para abrir un archivo de texto usando el bloc de notas en nombre de una cuenta de usuario de dominio, use el comando:
runas /user:corp\server_admin "C:\Windows\system32\notepad.exe C:\ps\region.txt"Enter the password for corp\server_admin:
Attempting to start C:\Windows\system32\notepad.exe C:\ps\region.txt as user "corp\server_admin " ...Si especificó un nombre de usuario inexistente o una contraseña no válida, aparecerá un error:
RUNAS ERROR: Unable to run - yourcommand
1326: The user name or password is incorrect.o
RUNAS ERROR: Unable to acquire user passwordA veces es necesario ejecutar un programa como usuario de dominio desde una computadora que no está unida al dominio de Active Directory. En este caso, debe usar el siguiente comando (se supone que el servidor DNS que puede resolver este dominio está especificado en la configuración de red de su computadora):
runas /netonly /user:contoso\bmorgan cmd.exeSi no desea cargar el perfil de usuario al iniciar el programa como un usuario diferente, utilice el parámetro /noprofile. En este caso, la aplicación se inicia mucho más rápido pero puede provocar un funcionamiento incorrecto de los programas que almacenan datos en el perfil del usuario.
Usando RunAs en PowerShell
Si necesita ejecutar programas/procesos como otro usuario desde los scripts de PowerShell, puede usar el cmdlet Start-Process (Administración de procesos de Windows con PowerShell). Primero, necesita obtener las credenciales del usuario:
$Cred = (Get-Credential)Para iniciar el proceso, el comando o la aplicación como otro usuario, puede usar el comando de PowerShell:
Start-Process -FilePath "powershell.exe" -Credential $CredO puede obtener las credenciales de usuario de forma interactiva a través del indicador de seguridad de Windows:
# Run as Administrator
Start-Process -FilePath "powershell.exe" -Verb RunAs
# Run as from another user
Start-Process -FilePath "powershell.exe" -Verb RunAsUserSi necesita ejecutar un programa como administrador en modo elevado (de manera predeterminada, UAC ejecuta el programa en un contexto de usuario no elevado), puede usar el siguiente comando de PowerShell:
Start-Process powershell -Credential a-d\jsmith -ArgumentList '-noprofile -command &{Start-Process "cmd.exe" -verb runas}'O una herramienta ShelExec de terceros:
ShelExec /Verb:runas cmd.exe¿Cómo usar RunAs sin solicitud de contraseña?
Puede guardar las credenciales de usuario (con contraseña) que ingrese. El
/savecredEl parámetro se utiliza para esto.
runas /user:admin /savecred “C:\Windows\cmd.exe”Después de especificar la contraseña, se guardará en el Administrador de credenciales de Windows.
La próxima vez que ejecute el comando runas bajo el mismo usuario con el
/savecredWindows usará automáticamente la contraseña guardada del Administrador de credenciales sin pedirle que la ingrese nuevamente.
Para mostrar una lista de credenciales guardadas en Credential Manager, use el siguiente comando:
rundll32.exe keymgr.dll, KRShowKeyMgrSin embargo, no es seguro usar el
/savecredparámetro. Un usuario cuyo perfil ha guardado la contraseña de otra persona puede usarla para ejecutar cualquier aplicación o comando con esos privilegios o incluso cambiar la contraseña de otro usuario. Además, es fácil robar contraseñas guardadas en Credential Manager, por lo que se recomienda evitar que Windows guarde contraseñas (y nunca guardar la contraseña de las cuentas administrativas privilegiadas).
Nota. Además, la opción /savecred no funciona en las versiones de la edición de Windows Home.
Puede usar el comando Ejecutar como para ejecutar complementos mmc como un usuario diferente. Por ejemplo, si desea ejecutar el complemento Usuarios y equipos de Active Directory (desde el kit de herramientas de administración de RSAT) como un usuario diferente, puede usar este comando:
runas.exe /user:DOMAIN\USER "cmd /c start \"\" mmc %SystemRoot%\system32\dsa.msc"De la misma manera, puede ejecutar cualquier otro complemento (si conoce su nombre).
¿Cómo crear un acceso directo para ejecutar como un usuario diferente?
Puede crear un acceso directo en su escritorio que le permita ejecutar el programa como un usuario diferente. Simplemente cree un nuevo acceso directo y especifique el
runascomando con los parámetros necesarios en el campo Ubicación:
runas /user:admin “C:\Windows\notepad.exe”Cuando ejecute dicho acceso directo, se le pedirá que ingrese una contraseña de usuario.
Si además agregas el
/savecredparámetro en el
runas acceso directo, la contraseña se solicitará solo una vez. La contraseña se guardará en Credential Manager y se usará automáticamente cuando ejecute el acceso directo en nombre de otro usuario sin solicitar una contraseña.
Dichos accesos directos se usan con bastante frecuencia para ejecutar programas que requieren permisos elevados para ejecutarse. Sin embargo, existen formas más seguras de ejecutar un programa sin privilegios de administrador o deshabilitar el aviso de UAC para una aplicación específica.
Falta la opción "Ejecutar como usuario diferente" en Windows
Si falta la opción "Ejecutar como usuario diferente" en el menú contextual de la aplicación en el Explorador de archivos, debe verificar los valores de dos parámetros de registro de Windows.
En Windows, puede ocultar o mostrar el elemento de menú RunAs en el Explorador de archivos usando dos parámetros de registro:
El parámetro HideRunAsVerb (REG_DWORD) bajo la clave de registro HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer (1: ocultar el elemento RunAs, 0: mostrarlo);
EnableSecureCredentialPrompting (REG_DWORD) en HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\CredUI (1: ocultar, 0: mostrar).
Si Windows no muestra la opción de menú del botón derecho "Ejecutar como otro usuario", verifique los valores de estas configuraciones de registro y cámbielas a 0. En un entorno de dominio, puede implementar estos parámetros de registro en computadoras usando Preferencias de directiva de grupo.
El parámetro EnableSecureCredentialPrompting corresponde a una opción de GPO independiente. Abra el Editor de políticas de grupo local (
gpedit.msc) y asegúrese de que la directiva Requerir ruta de confianza para la entrada de credenciales esté deshabilitada (o no configurada) en Configuración del equipo -> Plantillas administrativas -> Componentes de Windows -> Interfaz de usuario de credenciales.
Agregue la opción "Ejecutar como" al menú Inicio en Windows 10
De forma predeterminada, los elementos del menú Inicio de Windows no tienen la opción "Ejecutar como". Para agregar la opción "Ejecutar como un usuario diferente", habilite la política "Mostrar el comando Ejecutar como un usuario diferente en Inicio" en la sección Configuración de usuario -> Plantillas administrativas ->Menú de inicio y barra de tareas del Editor de políticas de grupo local (gpedit.msc).
O bien, si falta gpedit.msc, cree un nuevo parámetro DWORD con el nombre ShowRunasDifferentuserinStart y el valor 1 bajo la clave de registro HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Explorer. Puede usar el siguiente comando de PowerShell para agregar el parámetro de registro:
New-ItemProperty -Path "HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\Explorer" -Name ShowRunasDifferentuserinStart -Value 1 -PropertyType DWORD -ForceActualice la configuración de la directiva de grupo (
gpupdate /force) y asegúrese de que haya aparecido un nuevo menú contextual Más -> Ejecutar como otro usuario para los programas en el menú Inicio.
Falta la opción "ejecutar como usuario diferente" en el menú contextual de las aplicaciones de la Plataforma universal de Windows (UWP, Microsoft Store). Puede ejecutar una aplicación para UWP como un usuario diferente desde el símbolo del sistema mediante runas.exe.
Enumere las aplicaciones de Microsoft Store en su computadora usando PowerShell:
Get-AppxPackage|select NamePuedes encontrar una aplicación específica:
Get-AppxPackage|where {$_.Name -like '*teams*'} |select NameBusque el nombre de la aplicación deseada en la lista. Por ejemplo, para ejecutar el cliente integrado de Microsoft Teams Chat como otro usuario, haga lo siguiente:
runas /user:user1 "explorer.exe MicrosoftTeams:"













