En Windows 7, ¿hay una línea de símbolo del sistema que pueda iniciar cmd como administrador? [duplicar]


39

Esta pregunta ya tiene una respuesta aquí:

En Linux, podemos usar

sudo bash

ejecutar un shell como superusuario.

En Windows 7, podemos usar

Menú Inicio -> (en el cuadro de búsqueda, escriba) cmd -> Haga clic derecho en el resultado de la búsqueda y elija Ejecutar como administrador

ejecutar un símbolo del sistema como administrador. ¿Hay también una línea de símbolo del sistema que es como Linux sudoo sucon el fin de iniciar una concha como administrador?


11
También puede buscar cmd (como ya lo hace) y presionar "ctrl + shift + enter" para iniciar el programa seleccionado como administrador.
Joshua el

Respuestas:


34

El runascomando es lo más parecido a lo que estás buscando:

runas /user:username cmd.exe

El formato es runas, el nombre de usuario que desea ejecutar, otras opciones y luego el programa que desea ejecutar.

Si estás en un dominio, puedes usar:

runas /user:DOMAIN\USERNAME cmd.exe

Esto se puede ejecutar desde el Runcuadro ( Win+ R) o desde una ventana de comandos.

Sin embargo, tenga en cuenta que esto no es exactamente así sudo: no puede usarlo para elevarse, simplemente ejecute algo como un usuario diferente. Si ya tiene derechos administrativos, una ejecución de su cuenta le dará el mismo acceso que el comando normal (a menos que, por supuesto, ejecute una cuenta de administrador diferente , lo que otorgará los derechos de ese administrador al nuevo shell).


2
Además, a diferencia sudo, runasnunca almacenará en caché la contraseña por un período de tiempo prolongado. Entonces, si planeaba poner en cola un par de comandos rápidos como puede con sucesivas ejecuciones de sudo. Tan solo abra una ventana de consola y ejecute sus comandos allí.
Joshua el

así que la forma más corta es "runas / user: DOMAIN \ Administrator cmd.exe" wow ... eso es bastante largo y difícil de recordar ... y puedo crear un alias, pero ¿qué pasa si estoy en la computadora de otra persona y estoy ayudando? ? ¿será una buena idea si MS puede crear un comando especial llamado runasadmin?
nopole

55
Joshua: A menos que lo uses /savecred.
Grawity

+1, y para el administrador local runas /user:administrator cmd.exeno es difícil de recordar después de una docena de tipos más o menos. Todo lo que es es el comando en sí mismo runasseguido por el /user:interruptor, seguido por el usuario con el que queremos ejecutarlo, y finalmente el programa que queremos ejecutar cmd.exe(el símbolo del sistema en nuestro caso). Esto es lo más cercano a una línea que puede obtener para ejecutar comandos elevados. Además, si comienzas-> ejecutas a veces hay una casilla de verificación para ejecutar el programa elevado, no me he esforzado en averiguar qué lo hace aparecer, pero es una opción.
MDMoore313

2
Parece que por defecto el administrador no tiene una contraseña. Y que la cuenta está realmente deshabilitada. La cuenta de administrador debe habilitarse primero, dar una contraseña y luego convertirse en un usuario real en el que puede iniciar sesión y ejecutar.
CMCDragonkai

11

Intente crear un acceso directo a cmd.exe. Haga clic derecho> Propiedades. Haga clic en el botón Avanzado. Y marque la casilla "Ejecutar como administrador" y haga clic en Aceptar.

Asigne una tecla de acceso directo si lo desea.

Y también puede asignar la ubicación predeterminada para que comience la solicitud de CMD ... por ejemplo,% CD%



3

Usa SuRun .

Funciona también en Windows 8. Ejecuta la aplicación en modo "admin" sin un aviso, pero tiene un mayor control sobre qué aplicaciones se ejecutan (puede verlo en el applet del panel de control de SuRun). Funciona muy bien en un archivo por lotes también ...


solo una nota para Windows 8 (y 8.1): no pude iniciar un símbolo del sistema como administrador, porque surun reemplaza, por configuración predeterminada, la función runas incorporada en los menús contextuales.
Wolf

1

Cree un archivo por lotes como sudo.bat, escriba los siguientes comandos y luego guárdelos en la RUTA:

@echo Set objShell = CreateObject("Shell.Application") > %temp%\sudo.tmp.vbs
@echo args = Right("%*", (Len("%*") - Len("%1"))) >> %temp%\sudo.tmp.vbs
@echo objShell.ShellExecute "%1", args, "", "runas" >> %temp%\sudo.tmp.vbs
@cscript %temp%\sudo.tmp.vbs

Sin embargo, para usarlo, por ejemplo, sudo cmd net start fmsel script no funcionará si hay comillas en la línea de comandos.


2
Esto da como resultado que el usuario muestre el cuadro de diálogo UAC y luego ejecute el comando deseado en una ventana separada.
TOOGAM

1

Si desea una solución de línea de comandos: descargue hstart desde http://www.ntwind.com/software/hstart.html y extraiga hstart.exe o hstart64.exe en algún lugar de su ruta. Puede iniciar un símbolo del sistema elevado con hstart /runas cmdo hstart64 /runas cmd.

Pero la forma más rápida (como se señaló en un comentario para la pregunta) es presionar Windows, escribir cmdy presionar Ctrl+ Shift+ Enter.


1

Estaba frustrado con las soluciones existentes para esto, así que escribí un pequeño script Node.js que debería ser más familiar para los usuarios de * nix.

Eleva al usuario actual sin solicitudes de contraseña (solo UAC ), redirige stdin y stdout, y se ejecuta en la misma ventana de la consola.

https://github.com/tehsenaus/windosu


Esto funciona muy bien, solo diga sudo <command>y presione Alt + Y en el cuadro de diálogo UAC.
Brian Burns


0

Incluyo comandos genuinos suy sudocon mi shell Hamilton C para ejecutar un comando como otro usuario o elevado (con el indicador UAC) o ambos, es decir, elevado como otro usuario. A diferencia de runasotras alternativas, my suand sudoknow cómo pasar directorios actuales, variables de entorno y largas líneas de comando. Este es un producto comercial pero hay una versión gratuita . Divulgación completa: soy el autor. Pero también estoy feliz de responder preguntas.


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.