Ejecute PowerShell como otro usuario [4 formas]
Usando el comando runas
El comando runas en PowerShell inicia programas usando credenciales diferentes a las del usuario actual. Proporciona a los usuarios privilegios limitados para ejecutar comandos o acceder a recursos disponibles sólo para cuentas más privilegiadas.
La sintaxis del comando es runas /user:UserName ProgramName donde UserName es una cuenta con permiso y ProgramName es el nombre de la aplicación, script o documento. , etc., que pueden abrirse o ejecutarse con esta cuenta.
Para ejecutar PowerShell como otro usuario usando el comando runas, debemos cumplir con los requisitos a continuación.
- Abra PowerShell como
Administrador. - Luego, ejecute el comando
runas.
Abra PowerShell como Administrador
Para abrir PowerShell como Administrador:
- Presione la tecla de Windows + R para abrir la ventana Ejecutar.
Escriba
powershelly presione Ctrl + Shift + Enter para abrir PowerShell como administrador.
Ejecute el comando runas
En la ventana de PowerShell, use el comando runas para abrir PowerShell.
ejecutar como con otro usuario:
runas /user:UserName "powershell.exe"Reemplace UserName con el nombre de la cuenta deseada. El comando anterior le pedirá al usuario que ingrese la contraseña de la cuenta de usuario. Después de ingresar la contraseña correcta, se abrirá una nueva ventana de PowerShell, que se ejecutará con la cuenta de usuario especificada.
Después de abrir con éxito la ventana de PowerShell, use el comando whoami en la ventana de PowerShell para verificar si la ventana se está ejecutando con la cuenta de usuario especificada.
whoami:
whoamiUso del cmdlet Start-Process con el parámetro Credential
Start-Process es un cmdlet que inicia uno o más procesos en la computadora local. Por el contrario, el parámetro Credencial permite al usuario proporcionar credenciales alternativas a los procesos que requieren autenticación.
Solución basada en UI
La solución es proporcionar las credenciales a través de un cuadro de diálogo de la interfaz de usuario. Discutimos la apertura de PowerShell como Administrador en la explicación del uso del comando runas. En esta sección, debemos cumplir con los requisitos que se detallan a continuación.
- Ejecute el cmdlet
Start-Process. - Cierre la ventana principal de PowerShell.
Ejecute el cmdlet Start-Process
En la ventana de PowerShell, use el comando Start-Process para abrir PowerShell.
Cmdlet de inicio del proceso:
Start-Process powershell.exe -Credential ''
El comando anterior le pedirá al usuario que ingrese el nombre de usuario y la contraseña de la cuenta de usuario.
Después de ingresar la contraseña correcta, se abrirá una nueva ventana de PowerShell, que se ejecutará con la cuenta de usuario especificada.
Cerrar la ventana principal de PowerShell
De forma predeterminada, el sistema operativo Windows no nos permite escribir nada en una ventana de PowerShell recién abierta hasta que cerramos la ventana principal de PowerShell. Así que cierre la ventana principal y use el comando whoami para el proceso de verificación.
Solución basada en scripts
La solución es proporcionar a la línea de comando las credenciales de la cuenta de usuario mediante variables de script. Para hacer esto, debemos cumplir con los requisitos que se detallan a continuación.
- Declarar el nombre de usuario y contraseña.
- Genere el objeto
credencial. - Ejecute el cmdlet
Start-Process.
Declarar el nombre de usuario y contraseña
En la ventana de PowerShell, declare el
Declarar nombre de usuario y contraseña:
$username = 'UserName'
$password = 'Password'
$securePassword = ConvertTo-SecureString $password -AsPlainText -ForceReemplace el nombre de usuario y la contraseña por los de la cuenta del usuario.
Usamos el cmdlet ConvertTo-SecureString para convertir la contraseña en una securePassword. El cmdlet ConvertTo-SecureString (herramienta de línea de comandos) convierte una cadena o una contraseña de texto sin formato en una cadena segura, es decir, una representación cifrada para almacenar información confidencial, como contraseñas u otros datos confidenciales.
Generar el objeto credencial
Genere el objeto credential usando el siguiente comando:
Genere el objeto de credencial:
$credential = New-Object System.Management.Automation.PSCredential $username, $securePasswordUsamos el cmdlet New-Object para crear una nueva instancia credential de tipo System.Management.Automation.PSCredential con el nombre de usuario y contraseñasegura como argumentos. A menudo se utiliza en scripts y otros procesos automatizados para crear objetos de un tipo específico y manipularlos según sea necesario.
Ejecute el cmdlet Start-Process
Para iniciar una nueva instancia de PowerShell con un usuario diferente, use el cmdlet Start-Process como:
Ejecute el cmdlet Inicio-Proceso:
Start-Process powershell.exe -Credential $credentialUsando el cmdlet Start-Process, iniciamos una nueva instancia de PowerShell donde el parámetro Credential se proporciona con el objeto credential generado.
Se abrirá la nueva ventana de PowerShell. A continuación, cierre la ventana anterior y use el comando whoami en la nueva ventana para verificar si la ventana de PowerShell se está ejecutando con el nuevo usuario.

