Kommandozeilenbefehl (cmd) zum Sperren eines Windows-Rechners
Gibt es eine Möglichkeit, einen Windows XP-Rechner über die Befehlszeile zu sperren? Der Befehl shutdown
hat keine Option dafür.
Gibt es eine Möglichkeit, einen Windows XP-Rechner über die Befehlszeile zu sperren? Der Befehl shutdown
hat keine Option dafür.
rundll32.exe user32.dll,LockWorkStation
Ich bin gewarnt worden, dass dies nicht empfohlen wird (außer von Microsoft ). Die Warnungen beziehen sich auch auf den nahen Verwandten des Befehls, ExitWindowsEx (der den Computer herunterfährt). Ich hatte noch nie Probleme damit, aber YMMV .
Schlump : Der Pudel-Affe mag recht haben. Die Legende warnt, dass der Code mächtig und gefährlich ist.
Nudar : Mein Gott. Wir sollten ihn nur drei oder vier Mal benutzen. Maximal sechs.
Nibbler : Aber schon ein einziger Einsatz könnte das Universum zerstören!
Nudar : Ich hab’s. Zwei oder drei Mal.
Quelle )
Wenn Sie Zugriff auf den C++-Compiler von Visual Studio haben, finden Sie hier den (extrem komplizierten) Quelltext:
//
//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);
}
Beachten Sie, dass Sie in Windows Vista/7 den Befehl tsdiscon
verwenden können, um eine Remotedesktop-Sitzung zu trennen/den Arbeitsplatz zu sperren.
Wenn Sie den Befehl rundll32.exe user32.dll, LockWorkStation
in einer Remotedesktopsitzung (in Windows 7/Vista) verwenden, wird die Sitzung fortgesetzt, aber Sie sehen nur den Sperrbildschirm im Remotedesktopfenster.
Für die Ausführung über einen Scheduler oder nach einigen Minuten, in denen Sie den Computer verlassen haben, können Sietimeout /t 36000 /nobreak & rundll32.exe user32.dll,LockWorkStation
eine .bat
-Datei erstellen, sie in eine geplante Aufgabe einfügen und den Auslöser auf Leerlauf stellen.
Sie können /t xxx
. ändern, wie lange Sie warten müssen.
Danke an Kevin, er hat den Befehl zum Herunterfahren verwendet, das ist:timeout /t 36000 /nobreak & shutdown /h /f
Ich stelle meinen Computer so ein, dass er sich automatisch anmeldet, sofort “rundll32.exe user32.dll,LockWorkStation” ausführt und dann beginnt, Anwendungen zu laden (einzelne .CMD-Datei in meinem Startordner).
Funktioniert einwandfrei. Wenn ich einen Neustart benötige, starte ich den Computer neu, mache eine Pause usw. und wenn ich zurückkomme, entsperre ich den Computer. Alle Apps sind geladen.
Sie können dies auch von einem lokalen Rechner aus tun, um eine entfernte Arbeitsstation zu sperren, indem Sie einen UNC-Pfad verwenden:
\computername\c$\Windows\System32\rundll32.exe user32.dll,LockWorkStation
Der Zugriff wird bei Windows 7-Workstations verweigert, funktioniert aber bei Windows XP.