Comando da linha de comandos (cmd) para bloquear uma máquina Windows

59

Existe uma maneira de bloquear uma máquina com Windows XP através da linha de comando? O comando shutdown não tem uma opção para isso.

    
por Herms 11.08.2009 / 16:29

9 respostas

84
rundll32.exe user32.dll,LockWorkStation

Fui avisado de que isso não é recomendado (exceto por Microsoft ). Os avisos também são centrados em torno do parente próximo do comando, ExitWindowsEx (que desliga o computador). Eu nunca tive nenhum problema com isso, mas YMMV .

Schlump: The poodle-monkey may be right. The legend warns that the code is powerful and dangerous.
Nudar: My God. We'd better use it only three or four times. Six, max.
Nibbler: But even a single use could shatter the universe!
Nudar: Got it. Two or three times.

( Fonte )

    
por 11.08.2009 / 16:30
9

Se você 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);
}
    
por 12.08.2009 / 17:44
6

Observe que, no Windows Vista / 7, você pode usar o comando tsdiscon para desconectar uma sessão da Área de Trabalho Remota / bloquear sua estação de trabalho.

Se você usar o comando rundll32.exe user32.dll, LockWorkStation em uma sessão da Área de Trabalho Remota (no Windows 7 / Vista), a sessão continuará, mas você verá apenas a tela de bloqueio na janela da Área de Trabalho Remota.

    
por 16.01.2011 / 01:18
2

Como não é recomendado executar o LockWorkStation via rundll32.exe, outra solução é usar o Wizmo . Basta executar:

wizmo lock
    
por 01.06.2012 / 10:34
2

Para executar em um agendador ou depois de alguns minutos você saiu do computador, você pode usar %código% crie um arquivo timeout /t 36000 /nobreak & rundll32.exe user32.dll,LockWorkStation colocando-o em uma tarefa agendada, coloque o gatilho rodando em ocioso.

Você pode alterar .bat . quanto você precisa esperar.

Graças a Kevin, ele usou o comando para o desligamento, isso é: /t xxx

    
por 03.08.2015 / 16:10
1

Aqui está o comando bat de trabalho para o PC Remoto

@echo off
COLOR 3E
@echo Lock Remote PC
SET /P PC=ıp or Host Name: 
\%PC%\c$\Windows\System32\rundll32.exe user32.dll,LockWorkStation
    
por 09.06.2014 / 10:52
1

Configurei meu computador para fazer logon automaticamente, execute imediatamente "rundll32.exe user32.dll, LockWorkStation" e comece a carregar aplicativos (um único arquivo .CMD na minha pasta de inicialização).

Funciona muito bem. Quando eu preciso reiniciar e estou em um ponto de ruptura eu reinicio o computador, faço uma pausa, etc e quando eu volto eu desbloquear meu computador. Apps todos carregados.

    
por 10.06.2014 / 21:41
-3

Você também pode fazer isso 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

Obtendo acesso negado com as estações de trabalho do Windows 7, mas funciona com o Windows XP.

    
por 25.06.2011 / 16:59
-6

No Windows Server 2012, pressione: Win + L

    
por 30.10.2012 / 04:05