Polecenie wiersza poleceń (cmd) do zablokowania komputera z systemem Windows
Czy istnieje sposób na zablokowanie maszyny z systemem Windows XP za pomocą wiersza poleceń? Polecenie shutdown
nie ma takiej opcji.
Czy istnieje sposób na zablokowanie maszyny z systemem Windows XP za pomocą wiersza poleceń? Polecenie shutdown
nie ma takiej opcji.
rundll32.exe user32.dll,LockWorkStation
Zostałem ostrzeżony, że nie jest to zalecane (z wyjątkiem Microsoft ). Ostrzeżenia są również skupione wokół bliskiego krewnego tego polecenia, ExitWindowsEx (które wyłącza komputer). Nigdy nie miałem z tym żadnych problemów, ale YMMV .
Schlump : Pudel-małpa może mieć rację. Legenda ostrzega, że kod jest potężny i niebezpieczny.
Nudar : Mój Boże. Lepiej użyjmy go tylko trzy lub cztery razy. Sześć, maksymalnie.
Nibbler : Ale nawet jedno użycie może zniszczyć wszechświat!
Nudar : Rozumiem. Dwa lub trzy razy.
Źródło )
Jeśli masz dostęp do kompilatora C++ w Visual Studio, oto (niezwykle skomplikowane) źródło:
//
//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);
}
Zauważ, że w Windows Vista/7 możesz użyć polecenia tsdiscon
, aby rozłączyć sesję Pulpitu zdalnego/ zablokować stację roboczą.
Jeśli użyjesz polecenia rundll32.exe user32.dll, LockWorkStation
podczas sesji Pulpitu zdalnego (w Windows 7/Vista), sesja będzie kontynuowana, ale w oknie Pulpitu zdalnego zobaczysz tylko ekran blokady.
Do uruchomienia na schedulerze lub po kilku minutach od odejścia od komputera można użyćtimeout /t 36000 /nobreak & rundll32.exe user32.dll,LockWorkStation
utworzyć plik .bat
umieścić go w zaplanowanym zadaniu, umieścić wyzwalacz uruchomić na bezczynności.
Możesz zmienić /t xxx
. jak długo trzeba czekać.
Dzięki Kevinowi, użył on komendy do wyłączenia, to jest:timeout /t 36000 /nobreak & shutdown /h /f
.
Ustawiłem mój komputer tak, aby automatycznie się logował, natychmiast uruchamiał “rundll32.exe user32.dll,LockWorkStation”, a następnie rozpoczynał ładowanie aplikacji (pojedynczy plik .CMD w moim folderze startowym).
Działa ładnie. Kiedy muszę zrestartować komputer i jestem w punkcie krytycznym, restartuję komputer, idę na przerwę, itp. i kiedy wracam, odblokowuję komputer. Wszystkie aplikacje załadowane.
Możesz to również zrobić z lokalnego komputera, aby zablokować zdalną stację roboczą za pomocą ścieżki UNC:
\computername\c$\Windows\System32\rundll32.exe user32.dll,LockWorkStation
Uzyskanie odmowy dostępu ze stacjami roboczymi z systemem Windows 7, ale działa z systemem Windows XP.