Befehlszeilenbefehl (cmd) zum Sperren eines Windows-Computers

64

Gibt es eine Möglichkeit, einen Windows XP-Computer über die Befehlszeile zu sperren? Der shutdownBefehl hat keine Option dafür.

Herms
quelle
1
In einer Remotedesktopsitzung sollten Sie die Tastenkombination <kbd> STRG </ kbd> + <kbd> ALT </ kbd> + <kbd> ENDE </ kbd> verwenden können, um den Windows - Sicherheitsbildschirm anzuzeigen (in dem Sie die Tastenkombination sperren können) Arbeitsstation, Neustart usw.). In Vista oder höher können Sie auch "Windows-Sicherheit" aus dem Startmenü auswählen. ! Menüpunkt Windows-Sicherheit
bobbymcr

Antworten:

95
rundll32.exe user32.dll,LockWorkStation

Ich wurde gewarnt, dass dies nicht empfohlen wird (außer von Microsoft ). Die Warnungen konzentrieren sich auch auf den nahen Verwandten des Befehls, ExitWindowsEx (der den Computer herunterfährt). Ich hatte noch nie Probleme damit, aber YMMV .

Schlump : Der Pudelaffe hat vielleicht recht. Die Legende warnt, dass der Code mächtig und gefährlich ist.
Nudar : Mein Gott. Wir sollten es nur drei- oder viermal benutzen. Sechs, max.
Knabberzeug : Aber auch ein einziger Gebrauch könnte das Universum zerstören!
Nudar : Verstanden . Zwei oder drei mal.

( Quelle )

Gewähren
quelle
3
Für eine Weile hatte ich eine Webseite auf meinem Computer, die bei einem Besuch diesen Befehl aufrief (auf meinem Computer, nicht auf den Besuchern). Es war im Grunde eine Fernsperre für meinen Computer, denn wenn ich vergesse, sie zu sperren, verlasse ich das Haus und merke, dass mein Bruder zu Besuch ist.
Grant
2
Das Aufrufen solcher Funktionen mit rundll32 wird wirklich nicht empfohlen. Weitere Informationen finden Sie unter blogs.msdn.com/oldnewthing/archive/2004/01/15/58973.aspx. Scrollen Sie ein wenig nach unten zum Abschnitt "rundll32".
Grawity
Ich hatte noch nie ein Problem damit und es funktioniert immer noch unter Windows 7 (man könnte annehmen, dass es nicht problematisch genug ist, um es zu beheben). In beiden Fällen ist dies immer noch die einzige Befehlszeilenoption, mit der der Computer gesperrt werden kann (es muss nur ein Programm installiert werden, das dies für Sie erledigt).
Grant
2
Aber warum wird es nicht empfohlen?
Endolith
1
Ich erkenne, dass dies eine ältere Frage ist, aber ich habe gerade herausgefunden, dass Microsoft über einen Artikel verfügt, in dem die Verwendung von rundll32 dokumentiert ist. Dies scheint also die empfohlene Methode zu sein: docs.microsoft.com/en-us/powershell/scripting/getting- gestartet /…
Aakash Shah
11

Wenn Sie Zugriff auf den C ++ - Compiler von Visual Studio haben, finden Sie hier die (äußerst komplizierte) Quelle:

//
//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);
}
Devstuff
quelle
Ich habe dies mit VS2015 mit folgendem Befehl kompiliert: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"
Kevin Smyth
6

Beachten Sie, dass Sie unter Windows Vista / 7 den Befehl verwenden können tsdiscon, um eine Remotedesktopsitzung zu trennen oder Ihre Arbeitsstation zu sperren.

Wenn Sie den rundll32.exe user32.dll, LockWorkStationBefehl in einer Remotedesktopsitzung (unter Windows 7 / Vista) verwenden, wird die Sitzung fortgesetzt, es wird jedoch nur der Sperrbildschirm im Remotedesktopfenster angezeigt.

Kumpelschwimmen
quelle
TSDISCON wurde soeben in Windows 2000 eingeführt und ist auch in Windows XP verfügbar.
Jeroen Wiert Pluimers
2
Verwenden Sie rundll32.exe nicht mit LockWorkStation , da es den Aufrufstapel durcheinander bringt und dieses Durcheinander in Ihrer Sitzung belässt .
Jeroen Wiert Pluimers
2

Da es nicht empfohlen wird, LockWorkStation über rundll32.exe auszuführen , können Sie auch Wizmo verwenden . Renn einfach:

wizmo lock
laurent
quelle
2

Zum Ausführen auf einem Scheduler oder nach einigen Minuten, in denen Sie den Computer verlassen haben, können Sie timeout /t 36000 /nobreak & rundll32.exe user32.dll,LockWorkStation eine .batDatei erstellen , die in einer geplanten Task abgelegt ist, und den Trigger auf Leerlauf setzen.

Sie können sich ändern /t xxx. wie viel müssen Sie warten.

Dank Kevin benutzte er den Befehl zum Herunterfahren, das ist: timeout /t 36000 /nobreak & shutdown /h /f

Navid
quelle
Damit Sie nicht enttäuscht werden, wenn Sie keine Antwort erhalten, sollten Sie wissen, dass Sie eine Frage beantwortet haben, die eine akzeptierte Antwort hat und 5 Jahre alt ist. Sie haben nichts falsch gemacht. Ich wollte nur, dass du es weißt.
CharlieRB
1

Hier ist der Fledermausbefehl für 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
serdar
quelle
1

Ich stelle meinen Computer so ein, dass er sich automatisch anmeldet, starte sofort "rundll32.exe user32.dll, LockWorkStation" und lade Apps (einzelne CMD-Datei in meinem Startordner).

Funktioniert gut. Wenn ich einen Neustart durchführen muss und mich an einem Haltepunkt befinde, starte ich den Computer neu, mache eine Pause usw. und entsperre meinen Computer, wenn ich zurückkomme. Apps alle geladen.

Tom
quelle
-3

Sie können dies auch von einem lokalen Computer aus tun, um eine Remote-Workstation mithilfe eines UNC-Pfads zu sperren:

\\computername\c$\Windows\System32\rundll32.exe user32.dll,LockWorkStation

Der Zugriff wird auf Windows 7-Arbeitsstationen verweigert, funktioniert jedoch unter Windows XP.

Remote Admin
quelle
3
Dadurch wird nur die rundll32.exe-Binärdatei auf Ihrer lokalen Arbeitsstation von der Festplatte der Remote-Arbeitsstation ausgeführt und anschließend Ihre lokale Arbeitsstation gesperrt.
hjd
1
Dies sperrt die Maschine, auf der es läuft
G-.
-6

Drücken Sie unter Windows Server 2012: Win+L

Andrea
quelle
6
Dies ist kein Befehlszeilenbefehl .
Daniel Beck