111 votos

¿Cómo puedo ejecutar siempre el símbolo del sistema como administrador?

Como desarrollador, a menudo tengo la necesidad de abrir un símbolo del sistema para diversos fines. Por ejemplo, utilizo iisreset para reiniciar mi servidor web local.

Normalmente abro la ventana de comandos de una de estas dos maneras:

  1. Pulse Win , escriba "cmd" y pulse Enter
  2. Mientras está en el Explorador, mantenga pulsado Shift y hacer clic con el botón derecho en una carpeta, y elegir "Abrir ventana de comandos aquí"

Sin embargo, cuando abro la ventana de comandos de cualquiera de estas formas, no tengo los privilegios completos de administrador a los que creo que tengo derecho.

I am an administrator, but cmd.exe doesn't know that

Para ejecutar aplicaciones sólo para administradores, tengo que abrir la línea de comandos de esta manera relativamente laboriosa:

  1. Pulse Win , escriba "cmd"
  2. Espere a que el menú se llene
  3. Levantar la mano del teclado y ponerla en el ratón
  4. Haga clic con el botón derecho del ratón en el elemento de menú "cmd.exe"
  5. Elija "Ejecutar como administrador"

Esto es inaceptable por varias razones:

  • La ventana siempre se abre en C:\windows\system32 en lugar de mi Users directorio (como en la técnica aprobada 1) o la carpeta en la que quiero estar (como en la técnica aprobada 2). Así que a menudo tengo que cambiar de directorio para llegar a donde quiero ir.
  • Este proceso es varios milisegundos más lento que cualquiera de mis métodos preferidos. Realizado varias veces al día, todos los días durante el resto de mi carrera, suma unos diez días de tiempo perdido haciendo clic y esperando y cambiando de directorio.
  • Como programador, realizar una tarea robótica sin sentido me causa un gran dolor emocional.
  • Como programador, levantar la mano es una tarea extenuante que me provoca un gran dolor físico.

Por eso estoy buscando una solución única que permita que las técnicas aprobadas 1 y 2 abran las peticiones de comandos del administrador.

Muchos programas le permiten cambiar permanentemente su nivel de privilegio por defecto desde el menú de Propiedades. El Símbolo del sistema no es uno de esos programas.

enter image description here

¿Cómo puedo hacer que la ventana de comandos se ejecute como administrador por defecto (incluso cuando se utiliza la opción del menú contextual "Abrir ventana de comandos aquí")?

0 votos

¿Por qué no cambiar el UAC a sólo elevar?

0 votos

No veo la opción "elevar sólo" en mi control deslizante UAC. ¿Te refieres a algo más que a la ventana de configuración del control de cuentas de usuario?

10 votos

Creo que es la hora del martillo...

97voto

mohit Puntos 516

Para responder a la primera parte de tu pregunta, cuando pulsas la tecla de Windows y escribes "CMD" puedes pulsar Ctrl + Shift + Enter para abrir como administrador.

Para responder a la segunda parte de tu pregunta, pega lo siguiente en el bloc de notas y guárdalo con una extensión ".reg":

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="Open Command Window Here as Administrator"

[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /s /k pushd \"%V\""

A continuación, ejecute el archivo. Este fusionará los cambios en el registro y añadirá la opción a sus menús contextuales. (No se necesita la tecla de mayúsculas).

8 votos

Nota: en ambos casos tendrás que aceptar el aviso de UAC.

1 votos

La edición del registro no funciona en Windows 8.

0 votos

El parche del registro funciona para Server 2012 R2

41voto

Ben Collins Puntos 11318

Muchos programas le permiten cambiar permanentemente su nivel de privilegio por defecto desde el menú de Propiedades. El Símbolo del sistema no es uno de esos programas.

El Compatibilidad está completamente desactivada para todo de los ejecutables de Windows:

enter image description here

Para establecer privilegios de administrador para los ejecutables de Windows, es necesario crear un acceso directo y utilizar Atajo ficha Advanced (el elemento de la ventana de comandos del menú Inicio ya es un acceso directo):

enter image description here

La ventana siempre se abre en C:\windows\system32 en lugar de mi directorio de usuarios (como en la técnica aprobada 1) o la carpeta en la que quiero estar (como en la técnica aprobada 2). Así que a menudo tengo que cambiar de directorio para llegar a donde quiero ir.

Esto es normal y tiene sentido, ya que si estás abriendo una ventana de comandos de administrador, probablemente estás haciendo algunas acciones del sistema para las que necesitas privilegios de administrador en lugar de acciones de usuario para las que ya tienes permisos de todos modos.

Puedes establecer el directorio por defecto de forma global añadiendo/editando el archivo Autorun (ni siquiera tiene que ser una cadena expandible para utilizar variables de entorno):

REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"Autorun"="cd /d \"%userprofile%\""

Ahora, cada vez que abra una ventana de comandos utilizando cualquier método automáticamente por defecto (bueno, técnicamente cambiar-directorio ) a su directorio de perfil de usuario.

Y lo que es mejor, puedes añadir otros comandos para que se ejecuten automáticamente cada vez que abras una ventana de comandos utilizando la opción & operador (por ejemplo, cd /d %userprofile% & cls & dir ). Además, puede establecer el mismo valor en la misma clave bajo el HKLM para establecerlo para todos los usuarios.

Tenga en cuenta que todavía tendrá que aceptar el aviso de UAC. Desgraciadamente no hay (¿actualmente?) ninguna manera de crear una "lista blanca" UAC de programas de confianza para que el comando pueda ser ejecutado como administrador sin tener que aceptar el aviso. Esto te deja con (a) pocas opciones.

  • Puedes bajar el UAC o desactivarlo por completo ( useraccountcontrolsettings.exe )
  • Puede utilizar un programa de elevación de privilegios como Elevator aka Elevate Me o el Elevation PowerToy
  • Cree una zona elevada programado tarea Introduzca las credenciales (una vez) y cree un acceso directo a la tarea

En el primer caso, evitas el UAC por completo mientras que en los dos últimos, sólo introduces tus credenciales una vez al crear el acceso directo.

0 votos

Hay un problema con la configuración del directorio actual a través de la ejecución automática. Con ese valor establecido, cd /d "%userprofile%" se autoejecuta no sólo al abrir una nueva ventana de consola, sino también cada vez que se invoca un nuevo hilo de ejecución. Esto puede causar problemas, por ejemplo, con for /f bucles. Pruebe esto en un indicador de cmd: cd "\Program Files" entonces for /f "delims=" %I in ('cmd /c cd') do @echo %I . Verás el for /f cree que su directorio de trabajo actual es $home, no Archivos de Programa. Es más seguro modificar el cmd y establecer el objetivo como "%comspec%" /k cd /d "%userprofile%" .

0 votos

Si desea conservar la información de la versión de Windows y del copyright al abrir una nueva ventana de la consola, establezca el objetivo del acceso directo como %comspec% /c cd /d "%USERPROFILE%" & %comspec%

0 votos

+1 por la respuesta de edición de no registro. La otra respuesta podría haber estado bien en 2012, pero no quiero probarlo en Windows 10 hoy.

20voto

Dracs Puntos 2162

La solución que utilizo es abrir el símbolo del sistema abriendo el menú de inicio, escribiendo 'cmd' y pulsando Ctrl + Shift + Enter . Esto hará que el programa seleccionado se inicie como administrador.

1 votos

¿Existe alguna alternativa que no requiera "búsqueda"? (porque por lo que sé, escribir cosas en la caja realmente hace la búsqueda)

0 votos

La única otra forma que conozco es la respuesta de Luke, desactivar el UAC. La búsqueda de cmd es bastante rápida, ni siquiera puede llegar a pulsar Ctrl+Shift+Enter antes de que lo encuentre.

0 votos

Lo hago todo el tiempo en los ordenadores de los clientes. Encuentra CMD bastante rápido

15voto

Blue Puntos 91

Para la ejecución automática CMD como administrador cada vez que se hace clic simplemente (sin tener que hacer clic con el botón derecho o crear accesos directos adicionales), hay una solución fácil para esto:

  1. En el Editor del Registro , navega hasta:
    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

    • <strong>Si no hay un <code>Layers</code> carpeta </strong>Tendrás que crear uno y ponerle un nombre:
      Haga clic con el botón derecho del ratón en el <code>AppCompatFlags</code> selección de carpetas New Key
  2. Clic derecho Layers , seleccione New String Value . Establezca el Nombre de su nuevo valor de cadena a la ruta completa de ( CMD.EXE ) del símbolo del sistema (por ejemplo C:\Windows\System32\cmd.exe )

  3. Haga doble clic en el nuevo valor de la cadena para modificarlo, y establezca el "Datos de valor" a RUNASADMIN .

Yo tenía la misma molestia y esto me funcionó.

4voto

Peter Wills Puntos 41

La forma más fácil de evitar todas las molestias del UAC, etc., es configurar una entrada del Programa de Tareas para ejecutar cmd.exe utilizando los privilegios más altos. No cree un evento de activación para ello y asegúrese de que la casilla Permitir que la tarea se ejecute bajo demanda esté seleccionada en la pestaña Configuración. Además, en la pestaña de Configuración, asegúrese de que el menú desplegable "Si la tarea ya se está ejecutando, se aplica la siguiente regla" esté establecido en No iniciar una nueva instancia.

A continuación, cree un acceso directo a esto en su escritorio y ejecútelo desde allí, o a través de una tecla de acceso directo o fije el acceso directo a la barra de tareas.

Yo lo he hecho en mi sistema Windows 7 y funciona perfectamente.

1 votos

Uy, se me olvidó especificar una cosa importante. Aquí está la ruta de destino para el acceso directo a la Tarea. C:\Windows\System32\schtasks.exe /run /TN "símbolo del sistema sin UAC". El texto dentro de las comillas es el nombre que se le da a la tarea al crearla.

0 votos

No incluya su dirección de correo electrónico en sus respuestas

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X