¿Hay alguna manera de bloquear una máquina con Windows XP a través de la línea de comando? El shutdowncomando no tiene una opción para ello.
fuente
¿Hay alguna manera de bloquear una máquina con Windows XP a través de la línea de comando? El shutdowncomando no tiene una opción para ello.
rundll32.exe user32.dll,LockWorkStation
Me han advertido que esto no se recomienda (excepto por Microsoft ). Las advertencias también se centran en el pariente cercano del comando, ExitWindowsEx (que apaga la computadora). Nunca he tenido ningún problema con eso, pero YMMV .
Schlump : El caniche mono puede estar en lo cierto. La leyenda advierte que el código es poderoso y peligroso.
Nudar : Dios mío. Será mejor que lo usemos solo tres o cuatro veces. Seis, máx.
Nibbler : ¡Pero incluso un solo uso podría destruir el universo!
Nudar : Lo tengo. Dos o tres veces
( Fuente )
Si tiene acceso al compilador C ++ de Visual Studio, aquí está la fuente (extremadamente complicada):
//
//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);
}
cmd /s /c ""C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64 & cl.exe /W4 LockWorkStation.cpp /link /RELEASE /ENTRY:mainStartup /SUBSYSTEM:CONSOLE kernel32.lib user32.lib"
Tenga en cuenta que en Windows Vista / 7, puede usar el comando tsdisconpara desconectar una sesión de Escritorio remoto / bloquear su estación de trabajo.
Si usa el rundll32.exe user32.dll, LockWorkStationcomando en una sesión de Escritorio remoto (en Windows 7 / Vista), la sesión continuará, pero verá la pantalla de bloqueo en la ventana de Escritorio remoto.
Para ejecutar en un programador o después de algunos minutos dejo la computadora, puede usar
timeout /t 36000 /nobreak & rundll32.exe user32.dll,LockWorkStation
crear un .batarchivo, ponerlo en la tarea programada, poner el disparador en inactivo.
Se puede cambiar /t xxx. cuanto necesitas esperar
Gracias a Kevin, utilizó el comando para apagar, eso es:
timeout /t 36000 /nobreak & shutdown /h /f
Aquí está el comando bat de trabajo para PC remota
@echo off
COLOR 3E
@echo Lock Remote PC
SET /P PC=ıp or Host Name:
\\%PC%\c$\Windows\System32\rundll32.exe user32.dll,LockWorkStation
Configuré mi computadora para iniciar sesión automáticamente, inmediatamente ejecuté "rundll32.exe user32.dll, LockWorkStation" y luego comencé a cargar aplicaciones (archivo único .CMD en mi carpeta de inicio).
Funciona bien Cuando necesito reiniciar y estoy en un punto de interrupción, reinicio la computadora, hago una pausa, etc. y cuando regreso, desbloqueo mi computadora. Todas las aplicaciones cargadas.
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
Obtener acceso denegado con estaciones de trabajo con Windows 7, pero funciona con Windows XP.
En Windows Server 2012, presione: Win+L