C'è un modo per bloccare un computer Windows XP tramite la riga di comando? Il shutdown
comando non ha un'opzione per questo.
C'è un modo per bloccare un computer Windows XP tramite la riga di comando? Il shutdown
comando non ha un'opzione per questo.
Risposte:
rundll32.exe user32.dll,LockWorkStation
Sono stato avvisato che questo non è raccomandato (tranne da Microsoft ). Gli avvisi sono anche incentrati sul parente stretto del comando, ExitWindowsEx (che spegne il computer). Non ho mai avuto problemi con esso, ma YMMV .
Schlump : La scimmia barboncino potrebbe avere ragione. La leggenda avverte che il codice è potente e pericoloso.
Nudar : Mio Dio. Meglio usarlo solo tre o quattro volte. Sei, max.
Nibbler : Ma anche un solo uso potrebbe distruggere l'universo!
Nudar : Capito. Due o tre volte.
( Fonte )
Se hai accesso al compilatore C ++ di Visual Studio, ecco la fonte (estremamente complicata):
//
//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"
Si noti che in Windows Vista / 7 è possibile utilizzare il comando tsdiscon
per disconnettere una sessione di Desktop remoto / bloccare la workstation.
Se si utilizza il rundll32.exe user32.dll, LockWorkStation
comando in una sessione di Desktop remoto (in Windows 7 / Vista), la sessione continuerà, ma verrà visualizzata la schermata di blocco nella finestra Desktop remoto.
Per l'esecuzione su uno scheduler o dopo alcuni minuti che hai lasciato il computer, puoi utilizzare
timeout /t 36000 /nobreak & rundll32.exe user32.dll,LockWorkStation
creare un .bat
file per metterlo nell'attività pianificata, mettere il trigger inattivo.
È possibile modificare /t xxx
. quanto devi aspettare.
Grazie a Kevin, ha usato il comando per l'arresto, che è:
timeout /t 36000 /nobreak & shutdown /h /f
Ho impostato il mio computer per accedere automaticamente, eseguire immediatamente "rundll32.exe user32.dll, LockWorkStation" e quindi iniziare a caricare le app (singolo file .CMD nella mia cartella di avvio).
Funziona bene. Quando ho bisogno di riavviare e sono a un punto di rottura, riavvio il computer, vado in pausa, ecc. E quando torno, sblocco il mio computer. App tutte caricate.
Puoi anche farlo da un computer locale per bloccare una workstation remota utilizzando un percorso UNC:
\\computername\c$\Windows\System32\rundll32.exe user32.dll,LockWorkStation
Accesso negato con le workstation di Windows 7, ma funziona con Windows XP.