Comando de línea de comandos (cmd) para bloquear una máquina Windows
¿Hay alguna manera de bloquear una máquina Windows XP a través de la línea de comandos? El comando shutdown
no tiene una opción para ello.
¿Hay alguna manera de bloquear una máquina Windows XP a través de la línea de comandos? El comando shutdown
no tiene una opción para ello.
rundll32.exe user32.dll,LockWorkStation
Me han advertido que esto no es recomendable (excepto por Microsoft ). Las advertencias también se centran en el pariente cercano del comando, ExitWindowsEx (que apaga el ordenador). Nunca he tenido problemas con él, pero YMMV .
Schlump : El mono-caniche puede tener razón. La leyenda advierte que el código es poderoso y peligroso.
Nudar : Dios mío. Será mejor que lo usemos sólo tres o cuatro veces. Seis, como máximo.
Nudar : ¡Pero incluso un solo uso podría destrozar el universo!
Nudar : Entendido. Dos o tres veces.
Fuente )
Si tienes acceso al compilador de C++ de Visual Studio aquí tienes el código fuente (extremadamente complicado):
//
//LockWorkStation.cpp
//
//Locks the console.
//
//To compile (VC++ 2003, on one line):
//
// cl.exe /W4 LockWorkStation.cpp /link /RELEASE /OPT:REF /OPT:NOWIN98
// /ENTRY:mainStartup /SUBSYSTEM:CONSOLE kernel32.lib
//
#if !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500)
#undef _WIN32_WINNT
#define _WIN32_WINNT 0x0500
#endif
#include <windows.h>
void mainStartup(void)
{
LockWorkStation();
ExitProcess(0);
}
Tenga en cuenta que en Windows Vista/7, puede utilizar el comando tsdiscon
para desconectar una sesión de Escritorio Remoto/bloquear su estación de trabajo.
Si utiliza el comando rundll32.exe user32.dll, LockWorkStation
en una sesión de Escritorio Remoto (en Windows 7/Vista), la sesión continuará, pero sólo verá la pantalla de bloqueo en la ventana de Escritorio Remoto.
Para que se ejecute en un programador o después de algunos minutos que dejó la computadora puede utilizartimeout /t 36000 /nobreak & rundll32.exe user32.dll,LockWorkStation
crear un archivo .bat
ponerlo en la tarea programada, poner el gatillo ejecutar en reposo.
Puedes cambiar /t xxx
. cuanto necesitas esperar.
Gracias a Kevin, él usó el comando para apagar, es decir:timeout /t 36000 /nobreak & shutdown /h /f
Configuro mi ordenador para que inicie la sesión automáticamente, ejecute inmediatamente “rundll32.exe user32.dll,LockWorkStation” y luego comience a cargar las aplicaciones (un único archivo .CMD en mi carpeta de inicio).
Funciona bien. Cuando necesito reiniciar y estoy en un punto de ruptura reinicio el ordenador, me voy a un descanso, etc y cuando vuelvo desbloqueo el ordenador. Se cargan todas las aplicaciones.
También puede hacer esto desde una máquina local para bloquear una estación de trabajo remota utilizando una ruta UNC:
\computername\c$\Windows\System32\rundll32.exe user32.dll,LockWorkStation
Obteniendo acceso denegado con estaciones de trabajo Windows 7, pero funciona con Windows XP.