Command-line (cmd) perintah untuk mengunci mesin windows

64

Apakah ada cara untuk mengunci mesin Windows XP melalui baris perintah? The shutdownperintah tidak memiliki pilihan untuk itu.

Herms
sumber
1
Dari sesi Remote Desktop, Anda harus dapat menggunakan <kbd> CTRL </kbd> + <kbd> ALT </kbd> + <kbd> END </kbd> untuk menampilkan layar Keamanan Windows (di mana Anda dapat mengunci Anda workstation, restart, dll.) Di Vista atau di atas, Anda juga dapat memilih "Windows Security" dari Start Menu. ! Item menu Windows Security
bobbymcr

Jawaban:

95
rundll32.exe user32.dll,LockWorkStation

Saya telah diperingatkan bahwa ini tidak direkomendasikan (kecuali oleh Microsoft ). Peringatan juga berpusat di sekitar kerabat dekat perintah, ExitWindowsEx (Yang mematikan komputer). Saya tidak pernah punya masalah dengan itu, tapi YMMV .

Schlump : Monyet pudel mungkin benar. Legenda memperingatkan bahwa kode itu kuat dan berbahaya.
Nudar : Ya Tuhan. Lebih baik kita menggunakannya tiga atau empat kali saja. Enam, maks.
Nibbler : Tetapi bahkan satu penggunaan saja dapat menghancurkan alam semesta!
Nudar : Mengerti. Dua atau tiga kali.

( Sumber )

Hibah
sumber
3
Untuk sementara saya memiliki halaman web di komputer saya yang, jika dikunjungi, akan menjalankan perintah ini (di komputer saya, bukan pengunjung). Pada dasarnya itu adalah kunci jarak jauh untuk komputer saya, karena ketika saya lupa untuk menguncinya ketika saya meninggalkan rumah dan menyadari bahwa saudara saya sedang berkunjung.
Grant
2
Memanggil fungsi seperti ini menggunakan rundll32 benar-benar tidak disarankan. Untuk informasi lebih lanjut, lihat blogs.msdn.com/oldnewthing/archive/2004/01/15/58973.aspx - gulir sedikit ke bawah ke bagian "rundll32".
grawity
Saya tidak pernah punya masalah dengan itu, dan masih berfungsi di Windows 7 (orang bisa menganggap itu tidak cukup bermasalah untuk diperbaiki). Apa pun itu, itu masih satu-satunya opsi baris perintah untuk mengunci komputer (singkat menginstal program untuk melakukannya untuk Anda).
Grant
2
Tetapi mengapa itu tidak dianjurkan?
endolith
1
Saya menyadari bahwa ini adalah pertanyaan yang lebih lama, tetapi saya baru saja menemukan bahwa Microsoft memiliki artikel yang mendokumentasikan penggunaan rundll32, jadi ini tampaknya merupakan metode yang disarankan: docs.microsoft.com/en-us/powershell/scripting/getting- mulai / ...
Aakash Shah
11

Jika Anda memiliki akses ke kompiler C ++ Visual Studio di sini adalah sumber (sangat rumit):

//
//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);
}
menghancurkan
sumber
Saya mengkompilasi ini dengan VS2015 menggunakan perintah ini: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

Perhatikan bahwa pada Windows Vista / 7, Anda dapat menggunakan perintah tsdisconuntuk memutuskan sesi Remote Desktop / mengunci workstation Anda.

Jika Anda menggunakan rundll32.exe user32.dll, LockWorkStationperintah dalam sesi Remote Desktop (di Windows 7 / Vista), sesi akan berlanjut, tetapi Anda hanya akan melihat layar kunci di jendela Remote Desktop.

palswim
sumber
TSDISCON telah diperkenalkan di Windows 2000 baru saja diperiksa, dan tersedia di windows XP juga.
Jeroen Wiert Pluimers
2
Jangan gunakan rundll32.exe dengan LockWorkStation , itu akan mengacaukan dengan tumpukan panggilan, dan meninggalkan kekacauan itu di sesi Anda.
Jeroen Wiert Pluimers
2

Karena tidak disarankan untuk menjalankan LockWorkStation via rundll32.exe, solusi lain adalah menggunakan Wizmo . Lari saja:

wizmo lock
laurent
sumber
2

Untuk menjalankan penjadwal atau setelah beberapa menit Anda meninggalkan komputer Anda dapat menggunakan timeout /t 36000 /nobreak & rundll32.exe user32.dll,LockWorkStation membuat .batfile memasukkannya ke dalam tugas yang dijadwalkan, membuat pemicu berjalan pada siaga.

Anda bisa berubah /t xxx. seberapa banyak Anda harus menunggu.

Berkat Kevin, dia menggunakan perintah untuk shutdown, itu: timeout /t 36000 /nobreak & shutdown /h /f

Navid
sumber
Agar Anda tidak kecewa jika Anda tidak mendapat jawaban, Anda harus tahu bahwa Anda telah menjawab pertanyaan yang memiliki jawaban yang diterima dan berusia 5 tahun. Anda tidak melakukan kesalahan apa pun. Hanya ingin kamu tahu.
CharlieRB
1

Ini adalah perintah kelelawar yang berfungsi untuk 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
sumber
1

Saya mengatur komputer saya untuk secara otomatis masuk, segera jalankan "rundll32.exe user32.dll, LockWorkStation" dan kemudian mulai memuat aplikasi (file CMD tunggal dalam folder startup saya).

Bekerja dengan baik. Ketika saya perlu reboot dan saya berada pada titik puncaknya saya me-restart komputer, pergi istirahat, dll dan ketika saya kembali saya membuka kunci komputer saya. Aplikasi semua dimuat.

Tom
sumber
-3

Anda juga dapat melakukan ini dari mesin lokal untuk mengunci stasiun kerja jarak jauh dengan menggunakan jalur UNC:

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

Mendapatkan akses ditolak dengan workstation Windows 7, tetapi bekerja dengan Windows XP.

Admin jarak jauh
sumber
3
Ini hanya akan menjalankan biner rundll32.exe di workstation lokal Anda dari disk workstation jarak jauh, dan kemudian mengunci workstation lokal Anda.
hjd
1
Ini mengunci mesin yang menjalankannya
G-.
-6

Pada Windows Server 2012 tekan: Win+L

Andrea
sumber
6
Ini bukan perintah baris perintah .
Daniel Beck