คำสั่ง Command-Line (cmd) เพื่อล็อคเครื่อง windows


64

มีวิธีล็อคเครื่อง Windows XP ผ่านทางบรรทัดคำสั่งหรือไม่ shutdownคำสั่งไม่ได้มีตัวเลือกสำหรับมัน


1
จากเซสชันเดสก์ท็อประยะไกลคุณควรสามารถใช้ <kbd> CTRL </kbd> + <kbd> ALT </kbd> + <kbd> END </kbd> เพื่อแสดงหน้าจอความปลอดภัยของ Windows (ซึ่งคุณสามารถล็อคของคุณได้ เวิร์กสเตชันรีสตาร์ท ฯลฯ ) ใน Vista หรือสูงกว่าคุณสามารถเลือก "ความปลอดภัยของ Windows" จากเมนูเริ่ม ! รายการเมนู Windows Security
bobbymcr

คำตอบ:


95
rundll32.exe user32.dll,LockWorkStation

ฉันถูกเตือนว่าไม่แนะนำ (ยกเว้นโดยMicrosoft ) คำเตือนจะอยู่กึ่งกลางรอบญาติสนิทของคำสั่ง ExitWindowsEx (ซึ่งปิดคอมพิวเตอร์) ฉันไม่เคยมีปัญหาใด ๆ กับมัน แต่YMMV

Schlump : ลิงพุดเดิ้ลอาจถูกต้อง ตำนานเตือนว่ารหัสนั้นมีพลังและอันตราย
Nudar : พระเจ้าของฉัน เราควรใช้มันเพียงสามหรือสี่ครั้ง หกสูงสุด
Nibbler : แต่แม้แต่การใช้เพียงครั้งเดียวก็สามารถทำลายจักรวาล!
Nudar : เข้าใจแล้ว สองหรือสามครั้ง

( ที่มา )


3
ชั่วครู่หนึ่งฉันมีเว็บเพจบนคอมพิวเตอร์ของฉันซึ่งหากเข้าเยี่ยมชมจะเรียกใช้คำสั่งนี้ (บนคอมพิวเตอร์ไม่ใช่ผู้เยี่ยมชม) มันเป็นล็อคระยะไกลสำหรับคอมพิวเตอร์ของฉันเพราะเมื่อฉันลืมล็อคเมื่อฉันออกจากบ้านและตระหนักว่าพี่ชายของฉันกำลังเยี่ยมชม
แกรนท์

2
ไม่แนะนำให้ใช้ฟังก์ชันการโทรเช่นนี้โดยใช้ rundll32 สำหรับข้อมูลเพิ่มเติมโปรดดูblogs.msdn.com/oldnewthing/archive/2004/01/15/58973.aspx - เลื่อนลงเล็กน้อยไปยังส่วน "rundll32"
grawity

ฉันไม่เคยมีปัญหากับมันและมันยังคงใช้ได้ใน Windows 7 (อาจสันนิษฐานได้ว่ามันไม่มีปัญหาพอที่จะแก้ไขได้) ไม่ว่าจะด้วยวิธีใดก็ยังคงเป็นตัวเลือกบรรทัดคำสั่งเดียวที่จะล็อคคอมพิวเตอร์ (ขาดการติดตั้งโปรแกรมเพื่อให้เหมาะกับคุณ)
แกรนท์

2
แต่ทำไมถึงไม่แนะนำ
endolith

1
ฉันรู้ว่านี่เป็นคำถามที่เก่ากว่า แต่ฉันเพิ่งพบว่า Microsoft มีบทความที่บันทึกการใช้ rundll32 ดังนั้นนี่จึงเป็นวิธีที่แนะนำ: docs.microsoft.com/en-us/powershell/scripting/getting- เริ่มต้น / …
Aakash Shah

11

หากคุณเข้าถึงคอมไพเลอร์ C ++ ของ Visual Studio นี่คือแหล่งที่มา (ซับซ้อนมาก):

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

ฉันรวบรวมสิ่งนี้กับ VS2015 โดยใช้คำสั่งนี้: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 คุณสามารถใช้คำสั่งtsdisconเพื่อตัดการเชื่อมต่อเซสชันเดสก์ท็อประยะไกล / ล็อคเวิร์กสเตชันของคุณ

หากคุณใช้rundll32.exe user32.dll, LockWorkStationคำสั่งในเซสชันเดสก์ท็อประยะไกล (ใน Windows 7 / Vista) เซสชันนั้นจะดำเนินต่อไป แต่คุณจะเห็นหน้าจอล็อคในหน้าต่างเดสก์ท็อประยะไกล


TSDISCON ได้รับการแนะนำใน Windows 2000 ที่เพิ่งตรวจสอบและมีให้ใน windows XP เช่นกัน
Jeroen Wiert Pluimers

2
อย่าใช้ rundll32.exe กับ LockWorkStationมันจะยุ่งกับ call stack และปล่อยให้เป็นระเบียบนั้นในเซสชั่นของคุณ
Jeroen Wiert Pluimers

2

เพราะมันไม่ได้ขอแนะนำให้ทำงาน LockWorkStation ผ่าน rundll32.exe, การแก้ปัญหาหนึ่งคือการใช้Wizmo เพิ่งรัน:

wizmo lock

2

สำหรับการรันบนตัวกำหนดตารางเวลาหรือหลังจากไม่กี่นาทีที่คุณปล่อยให้คอมพิวเตอร์คุณสามารถใช้ timeout /t 36000 /nobreak & rundll32.exe user32.dll,LockWorkStation สร้าง.batไฟล์ที่อยู่ในงานที่กำหนดไว้ให้ทริกเกอร์เรียกใช้บนไม่ได้ใช้งาน

/t xxxคุณสามารถเปลี่ยน คุณต้องรอเท่าไหร่

ขอบคุณเควินเขาใช้คำสั่งสำหรับปิดเครื่องนั่นคือ: timeout /t 36000 /nobreak & shutdown /h /f


เพียงแค่คุณไม่ผิดหวังหากคุณไม่ได้รับคำตอบคุณควรรู้ว่าคุณตอบคำถามที่มีคำตอบที่ยอมรับได้และมีอายุ 5 ปี คุณไม่ได้ทำอะไรผิด แค่อยากให้คุณรู้
CharlieRB

1

นี่คือคำสั่ง bat ที่ใช้งานได้สำหรับ 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

1

ฉันตั้งค่าคอมพิวเตอร์ให้เข้าสู่ระบบโดยอัตโนมัติทันทีเรียกใช้ "rundll32.exe user32.dll, LockWorkStation" แล้วเริ่มโหลดแอป (ไฟล์. CMD เดี่ยวในโฟลเดอร์เริ่มต้นของฉัน)

ทำงานได้ดี เมื่อฉันต้องการรีบูทและเมื่อถึงจุดแตกหักฉันรีสตาร์ทคอมพิวเตอร์หยุดพัก ฯลฯ และเมื่อฉันกลับมาฉันจะปลดล็อกคอมพิวเตอร์ โหลดแอปทั้งหมดแล้ว


-3

คุณยังสามารถทำสิ่งนี้จากเครื่องภายในเพื่อล็อคเวิร์กสเตชันระยะไกลโดยใช้เส้นทาง UNC:

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

การเข้าถึงถูกปฏิเสธด้วยเวิร์กสเตชัน Windows 7 แต่ทำงานได้กับ Windows XP


3
นี่จะเรียกใช้ไบนารี rundll32.exe บนเวิร์กสเตชันท้องถิ่นของคุณจากดิสก์ของเวิร์กสเตชันระยะไกลแล้วล็อคเวิร์กสเตชันท้องถิ่นของคุณ
hjd

1
สิ่งนี้ล็อคเครื่องที่ใช้งานอยู่
G-

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.