Ejecutar como usuario diferente y elevar


22

Dentro del Explorador de Windows, puedo hacer clic con el botón derecho en un archivo ejecutable y elegir 'Ejecutar como administrador', que iniciará el proceso seleccionado con privilegios elevados o puedo hacer clic con el botón derecho en el archivo ejecutable y hacer clic en 'Ejecutar como usuario diferente', especificar el nombre de usuario y contraseña que iniciará el proceso con privilegios estándar utilizando el contexto de usuario especificado.

¿Cómo ejecuto como un usuario diferente Y ejecuto en un contexto elevado? Un ejemplo perfecto de esto sería abrir un símbolo del sistema elevado utilizando un contexto de usuario diferente que el usuario actualmente conectado.


Creo que PowerShell el start-processcomando podría hacer esto.
jiggunjer

Respuestas:


21

No creo que exista tal opción.

Como solución alternativa, puede iniciar la línea de comandos como administrador y ejecutar el siguiente comando para ejecutar la línea de comandos con privilegios de administrador como el otro usuario.

runas / netonly / user: YourUser cmd.exe


66
O bien, puede hacer clic con el botón derecho en el ejecutable, luego seleccionar propiedades> compatibilidad y luego seleccionar Nivel de privilegio y marcar Ejecutar este programa como administrador. Luego, haga clic derecho en el ejecutable y ejecútelo como un usuario diferente.
JamesTheDev

@NewProgrammerJames Nice, gracias por el aporte :)
Yass

@NewProgrammerJames Este truco no funciona con CMD directamente en W2008R2 y superior, pero debería ser posible ajustar una aplicación personalizada.
Vesper

¿Esto funcionará incluso si el usuario final no está en el grupo de administración?
jiggunjer

@jiggunjer No, que yo sepa.
Yass

10

Sí, psexec hace absolutamente esto.

El siguiente ejemplo funciona limpiamente en Windows 8.1; ejecute el símbolo del sistema como Administrador, luego:

// -i makes the app interactive
// -h elevates the execution context 
// Omitting the password forces a secure prompt
psexec -u DOMAIN\user -i -h "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe"

De Mike : ¡Esto funciona para Windows 10!
Fixer1234

7

Puedes hacerlo a través de PowerShell:

Start-Process powershell -Credential domain\differentUserName -ArgumentList '-noprofile -command &{Start-Process "TheApp.exe" -verb runas}'

1

Me doy cuenta de que esta es una pregunta muy antigua, pero las respuestas dadas no son ideales y ya se han necrosado. Todas las respuestas existentes requieren escribir comandos arcaicos y conocer la ruta exacta a su ejecutable. Una opción ideal haría esto posible usando el mismo proceso que ya usa para la escalada de privilegios.

Si tiene una edición de Windows que no sea Home (Vista hasta 10), puede usar el Administrador de políticas de seguridad para que le solicite que proporcione su contraseña cada vez que se produzca una elevación. También le da la opción de seleccionar un usuario completamente diferente e ingresar su contraseña ... lo que hará que el proceso elevado se ejecute como ellos.

Simplemente abra el menú de inicio y escriba secpol.mscy presione enter para iniciarlo (si está disponible). Usted está buscando Local Policies> Security Options> User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode> Prompt for credentials. Vista tiene una opción similar que no menciona el "Modo de aprobación de administrador" pero hace lo mismo.

Creo que esta es una opción mucho más natural que la que se ofrece aquí y recuerda bastante a gksudo on * nix. Pero si su edición de Windows no incluye secpol.msc, tendrá que hacer alguna piratería en el registro para habilitarla.


Hice esto y no funciona. Y siempre pide mi huella digital, aunque no configuro mi autenticación de huella digital.
Iroel

@iroel Eso suena distinto como si hubiera un problema de configuración con los subsistemas de autenticación de Windows. Debería considerar buscar SU para encontrar una solución a ese problema y, si no encuentra nada, considere publicarlo como una pregunta. Todos mis sistemas están configurados de esta manera y ninguno de ellos solicita una huella digital. Dependiendo de la cuenta que estoy autenticando, ya que solicitan una contraseña o un número PIN.
Cliff Armstrong

Yo uso la huella digital para la autenticación. Sí pasa 2 soluciones que son aplicables: hacer que el usuario tenga privilegios administrativos (pero no tiene sentido en este caso), cree otro usuario y configure la huella digital (use un dedo que no esté registrado para cierto usuario) y use ese dedo cuando se le solicite privilegio. Yo uso la última solución en este caso. Al menos me funciona.
iroel

Si se le solicita una huella digital, o bien ha configurado el usuario al que está tratando de iniciar sesión para que requiera una huella digital o algo está mal con su instalación de Windows. Punto final. Utilizo esta configuración en tres computadoras diferentes y ninguna de ellas me pide huellas digitales. Lo configuré en docenas de computadoras para clientes. Windows solicitará un PIN # al iniciar sesión en un usuario con un pin # configurado y una contraseña para todos los demás usuarios. Utiliza cualquier método de autenticación que haya configurado para ese usuario.
Cliff Armstrong

0

Descubrí que si inicio sesión como la cuenta Ejecutar como, puede establecer el indicador "ejecutar este programa como administrador" en la página de propiedades / compatibilidad. Luego, inicie sesión en la cuenta secundaria y realice la ejecución de clic de turno, ya que la abrirá como administrador.


Esto parecía una gran opción, pero no había una página de compatibilidad en las Propiedades de cmd.exe.
Sandra
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.