Est-il possible de verrouiller une machine Windows XP via la ligne de commande? La commande shutdown
n'a pas d'option pour cela.
rundll32.exe user32.dll,LockWorkStation
J'ai été averti que cela n'est pas recommandé (sauf par Microsoft ). Les avertissements sont également centrés autour du parent proche de la commande, ExitWindowsEx (qui éteint l’ordinateur). Je n'ai jamais eu de problèmes avec cela, mais YMMV .
Schlump : Le singe caniche a peut-être raison. La légende prévient que le code est puissant et dangereux.
Nudar : Mon Dieu. Nous ferions mieux de l'utiliser seulement trois ou quatre fois. Six, max.
Grignoteuse : Mais même un seul usage pourrait briser l’univers!
Nudar : compris. Deux ou trois fois.
( La source )
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);
}
Notez que sous Windows Vista/7, vous pouvez utiliser la commande tsdiscon
pour déconnecter une session de bureau à distance/verrouiller votre poste de travail.
Si vous utilisez la commande rundll32.exe user32.dll, LockWorkStation
dans une session Remote Desktop (sous Windows 7/Vista), la session se poursuivra, mais vous ne verrez que l'écran de verrouillage dans la fenêtre Remote Desktop.
Pour exécuter sur un planificateur ou après quelques minutes vous avez quitté l'ordinateur, vous pouvez utiliser timeout /t 36000 /nobreak & rundll32.exe user32.dll,LockWorkStation
créer un fichier .bat
le placer dans une tâche planifiée, le déclencheur étant lancé en mode inactif.
Vous pouvez changer /t xxx
. combien il faut attendre.
Grâce à Kevin, il a utilisé la commande pour l’arrêt, c’est-à-dire: timeout /t 36000 /nobreak & shutdown /h /f
Comme il n’est pas recommandé d’exécuter LockWorkStation via rundll32.exe, une autre solution consiste à utiliser Wizmo . Il suffit de courir:
wizmo lock
Je configure mon ordinateur pour une connexion automatique, lance immédiatement "rundll32.exe user32.dll, LockWorkStation" puis lance le chargement des applications (un seul fichier .CMD dans mon dossier de démarrage).
Fonctionne bien. Lorsque je dois redémarrer et que je suis à un point critique, je redémarre l'ordinateur, je fais une pause, etc., et à mon retour, je déverrouille mon ordinateur. Les applications sont toutes chargées.
Voici la commande de travail pour Remote PC
@echo off
COLOR 3E
@echo Lock Remote PC
SET /P PC=ıp or Host Name:
\\%PC%\c$\Windows\System32\rundll32.exe user32.dll,LockWorkStation