He estado utilizando Conexión a Escritorio Remoto para entrar en una estación de trabajo. Pero en este entorno, no puedo utilizar las opciones de encendido del menú de inicio. Necesito una forma alternativa de apagar o reiniciar.
¿Cómo puedo controlar el estado de energía de mi ordenador a través de la línea de comandos?
Las formas más comunes de utilizar el comando shutdown
son:
shutdown -s
- Se apaga.
shutdown -r
- Se reinicia.
shutdown -l
- Cierra la sesión.
shutdown -h
- Hiberna.
Nota: Hay una trampa común en la que los usuarios piensan que "h" significa "ayuda" (lo que hace para cualquier otro programa de línea de comandos... excepto "shutdown.exe", donde significa "hibernar"). Entonces ejecutan shutdown -h
y apagan accidentalmente sus ordenadores. Cuidado con eso.
Shutdown -i" - "Modo interactivo". En lugar de realizar una acción, muestra un diálogo GUI.
shutdown -a
- Aborta un comando de apagado anterior.
Los comandos anteriores pueden combinarse con estas opciones adicionales:
-f
- Fuerza la salida de los programas. Evita que el proceso de apagado se atasque.
-t <seconds>
- Establece el tiempo hasta el apagado. Use -t 0
para apagar inmediatamente.
-c <message>
- Añade un mensaje de apagado. El mensaje terminará en el registro de eventos.
-y
- Obliga a responder con un "sí" a todas las consultas de apagado.
Nota: Esta opción no está documentada en ninguna documentación oficial. Fue descubierta por estos usuarios de StackOverflow.
Quiero asegurarme de que algunas otras respuestas realmente buenas también se mencionan junto con esta. Aquí están en ningún orden en particular.
f
]3 de JosephStyonsrundll32
de VonCSi estás en una máquina remota, también puedes añadir la opción -f para forzar el reinicio. De lo contrario, su sesión puede cerrarse y una aplicación obstinada puede colgar el sistema.
Yo uso esto siempre que quiero forzar un reinicio inmediato:
shutdown -t 0 -r -f
Para una opción más amigable de "darles algo de tiempo", puedes usar esto:
shutdown -t 30 -r
Como puedes ver en los comentarios, el -f está implícito en el tiempo de espera.
Brutus 2006 es una utilidad que proporciona una GUI para estas opciones.
Respuesta original: Oct. 2008
También tienes toda la serie ":rundll32.exe shell32.dll
"
(ver actualización más abajo)
rundll32.exe user.exe,**ExitWindows**
[Apagado rápido de Windows]
rundll32.exe user.exe,**ExitWindowsExec**
[Reinicio de Windows]
rundll32.exe shell32.dll,SHExitWindowsEx n
donde n
significa:
LOGOFF
SHUTDOWN
(APAGADO)FORZAR
POWEROFF
(APAGADO)(puede combinarse -> 6 = 2+4 FORCE REBOOT
)
1800 INFORMACIONES señala amablemente en los comentarios:
No uses rundll32.exe
para este propósito. Espera que la función que pasaste en la línea de comandos tenga una firma de método muy específica - no coincide con la firma de método de ExitWindows
.
Raymond CHEN escribió:
La firma de la función requerida para las funciones llamadas por rundll32.exe
es:
void CALLBACK ExitWindowsEx(HWND hwnd, HINSTANCE hinst,
LPSTR pszCmdLine, int nCmdShow);
Eso no ha impedido que la gente use rundll32
para llamar a funciones aleatorias que no fueron diseñadas para ser llamadas por rundll32
, como user32 LockWorkStation
o user32 ExitWindowsEx
.
(oops)
La firma real de la función ExitWindowsEx es:
BOOL WINAPI ExitWindowsEx(UINT uFlags, DWORD dwReserved);
Y para que quede claro:
"Rundll32` es un remanente de Windows 95, y ha sido desaprobado desde al menos Windows Vista porque viola un montón de directrices de ingeniería moderna.