Windows makinesini kilitlemek için komut satırı (cmd) komutu


64

Windows XP makinesini komut satırından kilitlemenin bir yolu var mı? shutdownKomut bunun için bir seçenek yoktur.


1
Uzak Masaüstü oturumunda, Windows Güvenlik ekranını göstermek için (kimliğinizi kilitleyebileceğiniz) iş istasyonu, yeniden başlatma vb.) Vista veya üzeri sürümlerde, Başlat Menüsünden "Windows Güvenliği" ni de seçebilirsiniz. ! Windows Güvenlik menü öğesi
bobbymcr

Yanıtlar:


95
rundll32.exe user32.dll,LockWorkStation

Bunun önerilmediği konusunda uyarıldım ( Microsoft tarafından hariç ). Uyarılar ayrıca komutun yakın akrabası, ExitWindowsEx (Bilgisayarı kapatan) etrafında da ortalanır. Onunla hiçbir zaman sorun yaşamadım, ama YMMV .

Schlump : Kaniş maymunu doğru olabilir. Efsane, kodun güçlü ve tehlikeli olduğu konusunda uyarır.
Nudar : Aman Tanrım. Sadece üç ya da dört kez kullansak iyi olur. Altı, maks.
Nibbler : Fakat tek bir kullanım bile evreni paramparça edebilir!
Nudar : Anladım. İki ya da üç kez.

( Kaynak )


3
Bir süre bilgisayarımda, eğer ziyaret edilirse, bu komutu çağıracak bir web sayfam vardı (bilgisayarımda ziyaretçi değil). Temel olarak bilgisayarım için uzaktan bir kilitti, çünkü evi terk ederken unutmam ve kardeşimin ziyaret ettiğini fark ettim.
Hibe

2
Rundll32 kullanarak bunun gibi fonksiyonların çağrılması gerçekten önerilmez. Daha fazla bilgi için, blogs.msdn.com/oldnewthing/archive/2004/01/15/58973.aspx adresine bakın - "rundll32" bölümüne biraz aşağı kaydırın.
Grawity

Bununla ilgili bir sorunum olmadı ve hala Windows 7'de çalışıyor (biri düzeltmek için sorunlu olmadığını varsayabilirdi). Her iki durumda da, bilgisayarı kilitlemek için hala tek komut satırı seçeneği (bunu sizin için yapacak bir program yüklemeden kısa).
Hibe

2
Ama neden tavsiye edilmiyor?
Endolith

1
Bunun daha eski bir soru olduğunu biliyorum, ancak Microsoft'un rundll32 kullanımını belgeleyen bir makalesi olduğunu gördüm, bu yüzden önerilen yöntem gibi görünüyor: docs.microsoft.com/en-us/powershell/scripting/getting- başladı /…
Aakash Şah

11

Visual Studio'nun C ++ derleyicisine erişiminiz varsa, burada (son derece karmaşık) kaynak:

//
//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);
}

Bu komutu kullanarak VS2015 ile bunu derledim: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

Windows Vista / 7'de, tsdisconUzak Masaüstü oturumunun bağlantısını kesmek / iş istasyonunuzu kilitlemek için komutu kullanabileceğinizi unutmayın.

Eğer kullanırsanız rundll32.exe user32.dll, LockWorkStationbir Uzak Masaüstü oturumunda komutu (Windows 7 / Vista içinde), oturum devam edecek, ama sadece Uzak Masaüstü penceresinde kilit ekranı göreceksiniz.


TSDISCON, Windows 2000'de henüz kontrol edildi ve Windows XP'de de mevcut.
Jeroen Wiert Pluimers,

2
LockWorkStation ile rundll32.exe aracını kullanmayın , çağrı yığınına karışacak ve bu karışıklığı oturumunuzda bırakacaktır.
Jeroen Wiert Pluimers,

2

LockWorkStation'ı rundll32.exe aracılığıyla çalıştırmanız önerilmez, başka bir çözüm Wizmo kullanmaktır . Sadece koş:

wizmo lock

2

Zamanlayıcıda çalışmak için veya birkaç dakika sonra bilgisayarı terk ettiğinizde, zamanlanmış görevde çalışan timeout /t 36000 /nobreak & rundll32.exe user32.dll,LockWorkStation bir .batdosya oluşturun , tetikleyiciyi boşta çalıştırmayı çalıştırın.

Değişebilirsin /t xxx. ne kadar beklemelisin.

Kevin sayesinde kapatma komutunu kullandı: timeout /t 36000 /nobreak & shutdown /h /f


Bir cevap alamazsanız, hayal kırıklığına uğramadığınız için, kabul edilmiş bir cevabı olan ve 5 yaşında bir soruyu cevapladığınızı bilmelisiniz. Yanlış bir şey yapmadın. Sadece bilmeni istedim.
CharlieRB

1

Uzak PC için çalışma yarasa komutu

@echo off
COLOR 3E
@echo Lock Remote PC
SET /P PC=ıp or Host Name: 
\\%PC%\c$\Windows\System32\rundll32.exe user32.dll,LockWorkStation

1

Bilgisayarımı otomatik olarak oturum açacak şekilde ayarladım, hemen "rundll32.exe user32.dll, LockWorkStation" programını çalıştırın ve uygulamaları yüklemeye başladım (başlangıç ​​klasörümdeki tek .CMD dosyası).

Güzel çalışıyor. Yeniden başlatmam gerektiğinde ve kırılma noktasında olduğumda, bilgisayarı yeniden başlatıyorum, ara vermeye devam ediyorum, vb. Ve geri döndüğümde bilgisayarımın kilidini açıyorum. Tüm uygulamalar yüklü.


-3

Bunu, bir UNC yolu kullanarak uzak bir iş istasyonunu kilitlemek için yerel bir makineden de yapabilirsiniz:

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

Windows 7 iş istasyonlarında erişim reddedildi, ancak Windows XP ile çalışıyor.


3
Bu, uzaktaki iş istasyonunun diskinden yerel iş istasyonunuzdaki rundll32.exe ikili dosyasını çalıştırır ve ardından yerel iş istasyonunuzu kilitler.
hjd

1
Bu, üzerinde çalıştığı makineyi kilitler
G-.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.