¿Cómo apago, reinicio o cierro sesión en Windows mediante un archivo bat?
-
03-07-2019 - |
Pregunta
he estado usando Conexión de escritorio remoto para entrar en una estación de trabajo.Pero en este entorno, no puedo usar las opciones de energía en el menú Inicio.Necesito una forma alternativa de apagar o reiniciar.
¿Cómo controlo el estado de energía de mi computadora a través de la línea de comando?
Solución
Las formas más comunes de utilizar el shutdown
comando son:
shutdown -s
- Apaga.shutdown -r
— Se reinicia.shutdown -l
— Se desconecta.shutdown -h
— Hiberna.Nota: Existe un error común en el que los usuarios piensan
-h
significa "ayuda" (lo que hace para cualquier otro programa de línea de comandos...exceptoshutdown.exe
, donde significa "hibernar").luego correnshutdown -h
y accidentalmente apagan sus computadoras.Cuidado con eso.shutdown -i
- "Modo interactivo".En lugar de realizar una acción, muestra un cuadro de diálogo GUI.shutdown -a
— Anula un comando de apagado anterior.
Los comandos anteriores se pueden combinar 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.Usar-t 0
para apagar inmediatamente.-c <message>
— Agrega un mensaje de apagado.El mensaje terminará en el Registro de eventos.-y
— Fuerza una respuesta "sí" a todas las consultas de cierre.Nota: Esta opción no está documentada en ninguna documentación oficial.Fue descubierto por estos usuarios de StackOverflow.
Quiero asegurarme de que también se mencionen otras respuestas realmente buenas junto con esta.Aquí no están sin ningún orden en particular.
Otros consejos
Si está en una máquina remota, también puede agregar la opción -f para forzar el reinicio. De lo contrario, su sesión puede cerrarse y una aplicación obstinada puede bloquear el sistema.
Utilizo esto cada vez que quiero forzar un reinicio inmediato:
shutdown -t 0 -r -f
Para un " más amigable; deles algo de tiempo " opción, puede usar esto:
shutdown -t 30 -r
Como puede ver en los comentarios, el tiempo de espera implica -f.
Brutus 2006 es una utilidad que proporciona una GUI para estas opciones.
Nadie ha mencionado la opción -m
para el apagado remoto:
shutdown -r -f -m \\machinename
También:
- El parámetro
-r
provoca un reinicio (que generalmente es lo que desea en una máquina remota, ya que iniciarlo físicamente puede ser difícil). - La opción del parámetro
-f
fuerza el reinicio. - Debe tener los privilegios adecuados para apagar la máquina remota, por supuesto.
Respuesta original: octubre de 2008
También tienes todas las " serie: rundll32.exe shell32.dll
"
(vea la actualización a continuación)
-
rundll32.exe user.exe,**ExitWindows**
[Apagado rápido de Windows] -
rundll32.exe user.exe,**ExitWindowsExec**
[Reiniciar Windows]rundll32.exe shell32.dll,SHExitWindowsEx n
donde n
significa:
- 0 -
LOGOFF
- 1 -
SHUTDOWN
- 2 -
REBOOT
- 4 -
FORCE
- 8 -
POWEROFF
(se puede combinar - > 6 = 2 + 4 FORCE REBOOT
)
Actualización de abril de 2015 (más de 6 años después):
INFORMACIÓN 1800 amablemente señala en los comentarios :
No use
rundll32.exe
para este propósito. Espera que la función que pasó en la línea de comando tenga una firma de método muy específica; no coincide con la firma de método deExitWindows
.
Raymond CHEN escribió:
- en 2004 " ¿Qué puede ¿te equivocas cuando no coincides con la convención de llamada? " ;:
La firma de la función requerida para las funciones llamadas por
rundll32
es:
void CALLBACK ExitWindowsEx(HWND hwnd, HINSTANCE hinst,
LPSTR pszCmdLine, int nCmdShow);
Eso no ha impedido que las personas usen
user32 LockWorkStation
para llamar a funciones aleatorias que no fueron diseñadas para ser llamadas poruser32 ExitWindowsEx
, comoRundll32
o <=>.
(Uy)
La firma de la función real para ExitWindowsEx es:
BOOL WINAPI ExitWindowsEx(UINT uFlags, DWORD dwReserved);
Y para hacerlo más claro como el cristal:
- en 2013 " ¿Cuál es el guía sobre cuándo usar rundll32? Fácil: no lo use & Quot ;:
<=> es un sobrante de Windows 95, y ha quedado en desuso desde al menos Windows Vista porque viola muchas pautas modernas de ingeniería.
Otro pequeño consejo: cuando voy por la ruta del archivo por lotes, me gusta poder abortarlo en caso de que lo ejecute accidentalmente. Por lo tanto, el archivo por lotes invoca el apagado pero luego te deja en el símbolo del sistema.
@echo off
echo Shutting down in 10 seconds. Please type "shutdown /a" to abort.
cmd.exe /K shutdown /f /t 10 /r
Además, como está en un temporizador, obtienes la misma emoción que cuando cazando en The Oregon Trail .
Cuando se remota a una máquina (el objetivo es Windows & nbsp; XP de todos modos; no estoy seguro acerca del objetivo de Windows & nbsp; Vista), aunque se reemplaza Apagar en el menú de inicio por Desconectar sesión o algo así, debería haber una llamada 'Seguridad de Windows' que también hace lo mismo que Ctrl + Alt + < kbd> Fin como lo señaló Owen.
Probablemente lo sepa, pero por si acaso: es mucho más fácil escribir shutdown -r
(o cualquier comando que desee) en " Ejecutar " cuadro y presione enter.
Guarda dejando archivos por lotes por todas partes.
Llego tarde a la fiesta, pero aún no vi esta respuesta. Cuando no desee usar un archivo por lotes o escriba el comando. Simplemente puede establecer el foco en el escritorio y luego usar Alt + F4 .
Windows le preguntará qué quiere hacer, seleccione apagar o reiniciar.
Para capturas de pantalla e incluso un video, consulte: https: / /tinkertry.com/how-to-shutdown-or-restart-windows-over-rdp