73 votes

Commande en ligne de commande (cmd) pour verrouiller une machine Windows

Existe-t-il un moyen de verrouiller une machine Windows XP via la ligne de commande ? Le site shutdown n'a pas d'option pour cela.

111voto

Lloyd Meinholz Points 1520
rundll32.exe user32.dll,LockWorkStation

On m'a prévenu que ce n'était pas recommandé (sauf par Microsoft ). Les avertissements sont également centrés sur un proche parent de la commande, ExitWindowsEx (qui éteint l'ordinateur). Je n'ai jamais eu de problèmes avec elle, mais YMMV .

Schlump : Le caniche-singe a peut-être raison. La légende prévient que le code est puissant et dangereux.
Nudar : Mon Dieu. Nous ferions mieux de ne l'utiliser que trois ou quatre fois. Six, maximum.
Grignoteuse : Mais même une seule utilisation pourrait briser l'univers !
Nudar : Je l'ai. Deux ou trois fois.

( Source : )

15voto

domoaringatoo Points 1903

Si vous avez accès au compilateur C++ de Visual Studio, voici la source (extrêmement compliquée) :

//
//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);
}

6voto

Chris Nava Points 4048

Notez que sous Windows Vista/7, vous pouvez utiliser la commande tsdiscon pour déconnecter une session Remote Desktop/verrouiller votre poste de travail.

Si vous utilisez le rundll32.exe user32.dll, LockWorkStation dans une session Remote Desktop (sous Windows 7/Vista), la session se poursuit, mais vous ne voyez que l'écran de verrouillage dans la fenêtre Remote Desktop.

4voto

laurent Points 5747

Comme il n'est pas recommandé d'exécuter LockWorkStation via rundll32.exe, une autre solution consiste à utiliser Wizmo . Cours juste :

wizmo lock

2voto

Navid Points 21

Pour l'exécution sur un planificateur ou après quelques minutes si vous avez quitté l'ordinateur vous pouvez utiliser timeout /t 36000 /nobreak & rundll32.exe user32.dll,LockWorkStation créer un .bat le mettre dans une tâche planifiée, mettre le déclencheur en veille.

Vous pouvez modifier /t xxx . combien de temps vous devez attendre.

Grâce à Kevin, il a utilisé la commande pour l'arrêt, que : timeout /t 36000 /nobreak & shutdown /h /f

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X