Comando de linha de comando (cmd) para bloquear uma máquina de janelas
Existe alguma forma de bloquear uma máquina com Windows XP através da linha de comando? O comando shutdown
não tem uma opção para ele.
Existe alguma forma de bloquear uma máquina com Windows XP através da linha de comando? O comando shutdown
não tem uma opção para ele.
rundll32.exe user32.dll,LockWorkStation
Fui avisado que isto não é recomendado (excepto pela Microsoft ). Os avisos estão também centrados em torno do parente próximo do comando, ExitWindowsEx (que desliga o computador). Nunca tive quaisquer problemas com ele, mas YMMV .
Schlump : O poodle-monkey pode estar certo. A lenda adverte que o código é poderoso e perigoso.
Nudar* : Meu Deus. É melhor usá-lo apenas três ou quatro vezes. Seis, no máximo.
Nibbler : Mas mesmo uma única utilização poderia estilhaçar o universo!
Nudar* : Já está. Duas ou três vezes.
Fonte )
Se tiver acesso ao compilador C++ do Visual Studio aqui está a fonte (extremamente 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);
}
Note que no Windows Vista/7, pode usar o comando tsdiscon
para desligar uma sessão/bloqueio remoto da sua estação de trabalho.
Se utilizar o comando rundll32.exe user32.dll, LockWorkStation
numa sessão de Remote Desktop (no Windows 7/Vista), a sessão continuará, mas apenas verá o ecrã de bloqueio na janela Remote Desktop.
Para correr num agendador ou após alguns minutos que deixou o computador, pode utilizar timeout /t 36000 /nobreak & rundll32.exe user32.dll,LockWorkStation
criar um ficheiro .bat
colocá-lo numa tarefa agendada, colocar o disparador a funcionar em modo inativo.
Pode alterar /t xxx
. o quanto precisa de esperar.
Graças a Kevin, ele usou o comando para desligar, ou seja:timeout /t 36000 /nobreak & shutdown /h /f
.
Configuro o meu computador para entrar automaticamente, executar imediatamente “rundll32.exe user32.dll,LockWorkStation” e depois começar a carregar aplicações (ficheiro único .CMD na minha pasta de arranque).
Funciona bem. Quando preciso de reiniciar e estou num ponto de ruptura reinicio o computador, faço uma pausa, etc., e quando volto desbloqueio o meu computador. Aplicações todas carregadas.
Também se pode fazer isto a partir de uma máquina local para bloquear uma estação de trabalho remota, usando um caminho UNC:
\computername\c$\Windows\System32\rundll32.exe user32.dll,LockWorkStation
Obter acesso negado com estações de trabalho Windows 7, mas funciona com Windows XP.