ฉันจะป้องกันการล็อกหน้าจอที่บังคับใช้นโยบายใน Windows 7 ได้อย่างไร


96

BOFH องค์กรของเรากำหนดให้การตั้งค่าการล็อกหน้าจอมีความล่าช้าเล็กน้อยอย่างน่าขัน มันน่าหงุดหงิดและต่อต้าน

มีวิธีป้องกันการล็อคหน้าจออัตโนมัติหรือไม่? ฉันจะสมมติว่าไม่มีวิธีใดที่จะแทนที่การตั้งค่าที่บังคับใช้นโยบาย แต่อาจมีซอฟต์แวร์ที่เลียนแบบกิจกรรมของผู้ใช้

ถามก่อนที่ฉันจะตั้งค่าวงล้อเม้าส์ถาวร (เข้าใจไหม)


1
แค่อยากรู้ว่า "สั้นขัน" คืออะไร?
คาร์ล

มีเป็นวิธีการแก้ปัญหาเช่น Pressers ที่สำคัญและการเคลื่อนย้ายเมาส์ที่จะป้องกันไม่ให้หน้าจอล็อก แต่คุณแน่ใจหรือว่าต้องการทำสิ่งนี้ การหลีกเลี่ยงการรักษาความปลอดภัยด้านไอทีนั้นเป็นไปได้มากกว่านโยบายของ บริษัท และอาจเป็นความผิดที่สามารถทนไฟได้
Keltari

7
15 นาที. ตกลงมันไม่สั้นเลย ... เว้นแต่ว่าคุณจะอยู่บ้านไม่ใช่ในพื้นที่เปิดโล่งและมักจะทำงานกับคอมพิวเตอร์เครื่องที่สอง เช่นเดียวกับฉันดังนั้นการล็อกหน้าจอจึงน่าสะพรึงกลัว
Gabriel R.

วิธีแก้ปัญหาแบบกึ่งหนึ่งจะไม่ปิดกั้นสกรีนเซฟเวอร์ แต่เพื่อกำหนดระยะเวลาผ่อนผันให้ไม่กี่ชั่วโมง (นั่นคือเวลาระหว่างการเริ่มต้นของสกรีนเซฟเวอร์และเวลาที่คุณต้องป้อนรหัสผ่านโดยปกติแล้วนี่จะถูกตั้งไว้ที่ 5 วินาทีดังนั้นการสั่นสะเทือนอย่างรวดเร็วด้วยเมาส์เมื่อสกรีนเซฟเวอร์เพิ่งจะปิดการใช้งานอย่างไรก็ตามมีค่าสูงกว่า คุณสามารถมีชั่วโมงได้โดยไม่ต้องใช้รหัสผ่าน
Hennes

1
ช่วงเวลาผ่อนผันไม่ทำงานสำหรับฉันในขณะที่สคริปต์ทำงาน ฉันสมมติว่านโยบายองค์กรของฉันปิดใช้งานช่วงเวลาผ่อนผันด้วย
Dane Jacob Hampton

คำตอบ:


85

ฉันใช้สคริปต์ฉันชื่อ idle.vbs:

Dim objResult

Set objShell = WScript.CreateObject("WScript.Shell")    

Do While True
  objResult = objShell.sendkeys("{NUMLOCK}{NUMLOCK}")
  Wscript.Sleep (6000)
Loop

ทุกๆหกวินาทีสิ่งนี้จะสลับ numlock บนคีย์บอร์ดอย่างรวดเร็วทำให้ Windows เชื่อว่ามีใครบางคนกำลังโต้ตอบกับแป้นพิมพ์เพื่อป้องกันการล็อกหน้าจอ สิ่งนี้ทำงานบนหน้าต่างวานิลลาคุณไม่จำเป็นต้องใช้เครื่องมือในการพัฒนาหรือเขียนสคริปต์เพียงแค่สร้างไฟล์ข้อความด้วย. vbs เป็นส่วนขยายแล้วดับเบิลคลิกที่ไฟล์นี้ (หรือวางไว้ในรายการเริ่มต้น)

แก้ไข: คุณสามารถใส่สคริปต์นี้ในรายการเริ่มต้นของคุณด้วย

 choco install IdleVbs -source https://www.myget.org/F/joshrivers-utility/

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวchocoติดตั้งChoclatey ( ) CLI โปรดดู:

https://chocolatey.org/


@JoshRivers วิธีหยุดสคริปต์นี้โดยไม่ต้องรีสตาร์ทคอมพิวเตอร์ก็ดีเช่นกัน
DeeJayh

2
@DeeJayh ฉันคิดว่าคุณสามารถหาอินสแตนซ์ของ wscript.exe ใน Task Manager และฆ่ามันได้ มักจะมีอินสแตนซ์ของการปฏิบัติการที่เรียกใช้ไม่มากนัก คุณอาจสร้างโซลูชันอัตโนมัติสำหรับการเลิกจ้าง ( stackoverflow.com/a/22325745 ) หรือโดยการใส่รหัสในส่วน "ทำในขณะที่มองหาข้อเท็จจริงภายนอก" เช่นเดียวกับให้สคริปต์สร้างไฟล์เมื่อเริ่มต้นจากนั้นตรวจสอบว่ามีไฟล์อยู่ในขณะที่ ด้วยวิธีนี้คุณสามารถลบไฟล์เพื่อให้สคริปต์หยุดทำงาน (ฉันไม่เคยออกจากสิ่งนั้นเลยดังนั้นฉันจึงเรียกใช้สคริปต์และไม่ค่อยฆ่าด้วยตัวจัดการงาน)
JoshRivers

1
บน Windows 10 เป็นวิธีที่ง่ายต่อการค้นหาโฟลเดอร์เริ่มต้นคือแสดง Start-> Run หน้าต่าง (เช่น WindowsKey + R) shell:startupแล้วพิมพ์ ดูเว็บไซต์นี้สำหรับข้อมูลเพิ่มเติมthewindowsclub.com/startup-folder-in-windows-8
buzz3791

ในการค้นหาสคริปต์ให้ค้นหา Microsoft Windows Based Script Host ในตัวจัดการงานของคุณ หรือเพิ่มคอลัมน์ชื่อกระบวนการแล้วค้นหา wscript.exe
JohnAndrews

ใช้งานได้ดีกับแล็ปท็อป Win10 Surface - ซึ่งไม่มีคีย์ NumLock จริง ๆ !
Shahar

87

หากยังคงติดตั้ง Windows Media Player คุณสามารถเล่นวิดีโอแบบวนซ้ำและย่อให้เล็กสุด (วิดีโอ "สัตว์ป่า" ตัวอย่างทำงานได้ดีสำหรับเรื่องนี้) ตามค่าเริ่มต้นตราบใดที่วิดีโอกำลังเล่นหน้าจอจะไม่ล็อค


3
ขอขอบคุณ! นี่คือทางออกที่ง่ายที่สุดและมีประสิทธิภาพมากที่สุด (ฉันไม่ได้ลองเลยฉันออกจาก บริษัท ไปซักพักแล้วและพยายามอยู่ห่างจาก Windows)
Gabriel R.

5
ฉันยืนยันว่าใช้งานได้กับ Windows XP โดยใช้ไฟล์ MP3 แทนวิดีโอ
Alaa Ali

4
แฮ็คที่ยอดเยี่ยม!

3
นอกจากนี้ยังใช้งาน VLC สำหรับผู้ที่ชื่นชอบ Windows Media Player
ecoe

4
ทำงานได้ดีใน Windows 7 แฮ็คที่ดี!
neves

16

อีกตัวเลือกหนึ่งคือโปรแกรมCaffeineฟรีแวร์ มันฟรีสำหรับใช้ในเชิงพาณิชย์เช่นกัน จากหน้าแรกของโปรแกรม:

หากคุณมีปัญหากับการล็อคพีซีหรือเข้าสู่โหมดนอนหลับคาเฟอีนจะตื่นขึ้นมา มันทำงานได้โดยการจำลองปุ่มกดหนึ่งครั้งทุก ๆ 59 วินาทีดังนั้นเครื่องของคุณคิดว่าคุณยังคงทำงานที่แป้นพิมพ์ดังนั้นจะไม่ล็อคหน้าจอหรือเปิดใช้งานหน้าจอ

คาเฟอีนทำงานโดยการจำลองเหตุการณ์กุญแจขึ้น F15 ทุก ๆ 59 วินาที จากการกดปุ่มทั้งหมดที่มีอยู่ F15 น่าจะเป็นสิ่งที่รบกวนน้อยที่สุด (ฉันไม่เคยเห็นแป้นคีย์บอร์ด PC มาพร้อมกับปุ่มนั้น!) และมีโอกาสน้อยที่สุดที่จะรบกวนการทำงานของคุณ

โซลูชัน off-the-shelf นี้ช่วยให้คุณสามารถควบคุมเวลาเปิดใช้งานและปิดการใช้งาน:

การดับเบิลคลิกที่ไอคอนโปรแกรมทำให้หม้อกาแฟว่างซึ่งเป็นไอคอนที่ใช้แทนและปิดการใช้งานโปรแกรมชั่วคราว ดับเบิลคลิกที่มันอีกครั้งเติมหม้อและจะทำให้เครื่องของคุณตื่น


8
ฉันรอวันที่พนักงาน Gov't วาง Caffeine บนคอมพิวเตอร์ของพวกเขาและมันก็เกิดอะไรขึ้นที่ Shift + F15 เปิดตัวนิวเคลียร์ ...
kazoni

เป็นเรื่องง่ายที่จะแก้ปัญหา "นอกชั้นวาง" ขอบคุณ ดูเหมือนว่าจะมีตัวเลือกบรรทัดคำสั่งจำนวนมากเกี่ยวกับ gcc แต่ฉันไม่จำเป็นต้องใช้ตัวเลือกใด ๆ !
Sam Watkins

เครื่องมือนี้ใช้งานได้ดีสำหรับฉัน! ฉันต้องติดตั้ง Visual C ++ 2008 Redistributable เพื่อให้มันใช้งานได้ microsoft.com/en-us/download/details.aspx?id=26368
Synck

7

คุณสามารถสร้างสคริปต์AutoItเพื่อกดปุ่มที่ไม่ได้ใช้อย่างต่อเนื่อง (เช่นทำให้สลับการล็อค num, ล็อคการเลื่อน), พักประมาณหนึ่งนาทีและทำซ้ำ หรือถ้าคุณใช้แป้นพิมพ์มากคุณสามารถทำให้มันเลื่อนเมาส์เป็นพิกเซลหรือไปในทิศทางใดก็ได้

หากคุณไม่ต้องการให้มันทำงานอย่างต่อเนื่องคุณสามารถเปิดใช้งานสคริปต์ตามกำหนดเวลา (หากคุณมีสิทธิ์เข้าถึง) เพื่อเปิดใช้งานหลังจากที่คอมพิวเตอร์ไม่ได้ใช้งานเป็นระยะเวลาหนึ่ง

และนี่เป็นสคริปต์ที่ง่ายมากในการเลื่อนเม้าส์ที่มองไม่เห็นถ้าคุณไม่ต้องการเข้าไปในไวยากรณ์ของ AutoIt:

While True
   Local $pos = MouseGetPos()
   MouseMove($pos[0]-1, $pos[1]-1, 0)
   MouseMove($pos[0], $pos[1], 0)
   Sleep(540000)
WEnd

สคริปต์นี้เลื่อนเคอร์เซอร์ของเมาส์ไปหนึ่งพิกเซลในทิศทางซ้ายและหลังจากนั้นจะคืนค่ากลับมาจากนั้นพักเป็นเวลา 9 นาที ( 540000มิลลิวินาที) เมื่อสคริปต์ทำงานคุณสามารถเห็นไอคอน AutoIt ในถาด คุณสามารถหยุดมันได้โดยคลิกขวาที่ไอคอนนี้และเลือกตัวเลือกที่เกี่ยวข้อง

ในการสร้างสคริปต์ให้ติดตั้ง AutoIt คลิกขวาในโฟลเดอร์ใดก็ได้และเลือกNew> AutoIt v3 Scriptตั้งชื่อคลิกขวาที่สคริปต์ใหม่นี้เลือกEditวางโค้ดที่ให้ไว้ด้านบนและบันทึก คุณสามารถคอมไพล์มันเป็น.exe(อีกครั้งจากเมนูบริบท) เพื่อเริ่มตัวอย่างเช่นจาก Windows Scheduler


ขอบคุณ, ฉันจะตรวจสอบมันออกมาดูเหมือนว่าง่ายกว่าการติดตั้งกรงล้อเมาส์ :)
กาเบรียลอาร์

เวอร์ชั่นพรีคอมไพล์ของสคริปต์ AutoIt นี้ที่นี่symantec.com/connect/downloads/ …
JJS

5

รวบรวมสิ่งนี้ใน Visual Studio หรือ C # Express และเรียกใช้จากพรอมต์คำสั่ง (หรือคลิกสองครั้ง) ต้องใช้. NET 4.0 หรือสูงกว่า มันทำทุกสิ่งที่คุณกำลังมองหา

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Threading;
using System.Runtime.InteropServices;
using System.Windows.Forms; 

namespace ImWorkin
{
    class Program
    {
        [FlagsAttribute]
        public enum EXECUTION_STATE : uint
        {
            ES_SYSTEM_REQUIRED = 0x00000001,
            ES_DISPLAY_REQUIRED = 0x00000002,
            ES_CONTINUOUS = 0x80000000
        }
        public SYSTEMTIMEOUTS TimeOuts
        {
            get { return sysTimeouts; }
        }
        public struct SYSTEMTIMEOUTS
        {
            public int BATTERYIDLETIMEOUT;
            public int EXTERNALIDLETIMEOUT;
            public int WAKEUPIDLETIMEOUT;
        }

        [DllImport("USER32.DLL", CharSet = CharSet.Unicode)]
        public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

        [DllImport("USER32.DLL")]
        public static extern bool SetForegroundWindow(IntPtr hWnd);

        [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
        static extern EXECUTION_STATE SetThreadExecutionState(EXECUTION_STATE flags);

        [DllImport("user32.dll", SetLastError = true, EntryPoint ="SystemParametersInfo")]
        internal static extern int SystemParametersInfo(int uiAction, int uiParam, ref int pvParam, int fWinIni);

        private static System.Threading.Timer preventSleepTimer = null;
        public const int SPI_GETBATTERYIDLETIMEOUT = 252;
        public const int SPI_GETEXTERNALIDLETIMEOUT = 254;
        public const int SPI_GETWAKEUPIDLETIMEOUT = 256;
        public static int Counter = 0;
        public static int timeOutinMS = 0;
        public static int batteryIdleTimer;
        public static int externalIdleTimer;
        public static int wakeupIdleTimer;
        public static SYSTEMTIMEOUTS sysTimeouts;


        static void Main(string[] args)
        {
            Console.WriteLine("You are about to be workin!! Just a moment...I need to calculate a few values.");
            string dots = string.Empty;
            for (int i =2; i < 60; i++)
            {
                dots = "";
                for (int ii = 0; ii < i; ii++)
                {
                    dots = dots + ".";
                }
                Thread.Sleep(100);
                Console.Clear();
                Console.WriteLine("You are about to be workin!! Just a moment...I need to calculate a few values.");
                Console.WriteLine(dots);
            }


            GetSystemTimeOuts();


            if (timeOutinMS < sysTimeouts.BATTERYIDLETIMEOUT)
                timeOutinMS = sysTimeouts.BATTERYIDLETIMEOUT;
            if (timeOutinMS < sysTimeouts.EXTERNALIDLETIMEOUT)
                timeOutinMS = sysTimeouts.EXTERNALIDLETIMEOUT;
            if (timeOutinMS < sysTimeouts.WAKEUPIDLETIMEOUT)
                timeOutinMS = sysTimeouts.WAKEUPIDLETIMEOUT;

            if (timeOutinMS == 0)
                timeOutinMS = 30;

            DisableDeviceSleep();
            Console.WriteLine("");
            Console.WriteLine("");
            Console.WriteLine("OK. I have calculated your computers timeout periods and set the   ");
            Console.WriteLine("necessary hooks. Your computer will not shut off the monitor, will");
            Console.WriteLine("show active in any chat programs,the screensaver is disabled and ");
            Console.WriteLine("the computer will not lock! Anyone looking at you eaither locally ");
            Console.WriteLine("or remotely will think you are hard at work.");
            Console.WriteLine("");
            Console.WriteLine("Now go do something fun...I got your back ;)");
            Console.WriteLine("Oh yeah....if you close this window OR press `q' in this ");
            Console.WriteLine("window you are going to have to actually work.");
            Console.WriteLine("");
            Console.WriteLine("");
            Console.WriteLine("This text will disappear in a 30 seconds. Just in case someone comes ");
            Console.WriteLine("by and reads your screen!");
            Console.WriteLine("");
            Console.WriteLine("");
            Console.WriteLine("Need custom coding? Kenneth.gore@gmail.com");
            while (Console.KeyAvailable == false)
            {
                Thread.Sleep(250);
                ConsoleKeyInfo cki = Console.ReadKey(true);

                if (cki.KeyChar == 'q')
                    break;
            }

        }


        public static void DisableDeviceSleep()
        {
           SetThreadExecutionState(EXECUTION_STATE.ES_SYSTEM_REQUIRED | EXECUTION_STATE.ES_DISPLAY_REQUIRED | EXECUTION_STATE.ES_CONTINUOUS);
           preventSleepTimer = new System.Threading.Timer(new TimerCallback(PokeDeviceToKeepAwake), null, 0, timeOutinMS * 1000);
        }

        public static void EnableDeviceSleep()
        {

           preventSleepTimer.Dispose();
           preventSleepTimer = null;

        }

        private static void PokeDeviceToKeepAwake(object extra)
        {

            Counter++;
            try
            {
                   SetThreadExecutionState(EXECUTION_STATE.ES_SYSTEM_REQUIRED | EXECUTION_STATE.ES_DISPLAY_REQUIRED | EXECUTION_STATE.ES_CONTINUOUS);
                   IntPtr Handle = FindWindow("SysListView32", "FolderView");

                   if (Handle == IntPtr.Zero)
                   {
                       SetForegroundWindow(Handle);
                       SendKeys.SendWait("%1");
                   }

                   if (Counter > 1)
                       Console.Clear();
            } 
            catch 
            {

            }
        }

        public static void GetSystemTimeOuts()  
        {
            sysTimeouts.BATTERYIDLETIMEOUT = -2;
            sysTimeouts.EXTERNALIDLETIMEOUT = -2;
            sysTimeouts.WAKEUPIDLETIMEOUT = -2;


            if (SystemParametersInfo(SPI_GETBATTERYIDLETIMEOUT, 0, ref batteryIdleTimer, 0) == 1)
                sysTimeouts.BATTERYIDLETIMEOUT = batteryIdleTimer;
            else
                sysTimeouts.BATTERYIDLETIMEOUT = -1;

            if (SystemParametersInfo(SPI_GETEXTERNALIDLETIMEOUT, 0, ref externalIdleTimer, 0) == 1)
                sysTimeouts.EXTERNALIDLETIMEOUT = externalIdleTimer;
            else
                sysTimeouts.EXTERNALIDLETIMEOUT = -1;



            if (SystemParametersInfo(SPI_GETWAKEUPIDLETIMEOUT, 0, ref wakeupIdleTimer, 0) == 1)
                sysTimeouts.WAKEUPIDLETIMEOUT = wakeupIdleTimer;
            else
                sysTimeouts.WAKEUPIDLETIMEOUT = -1;


        }
    }
}

ขออภัย .... ในข้างต้นโพสต์ทุกอย่างหลังจากวลี "ค้นหา" เป็นรหัสและควรจะรวบรวม รูปแบบไม่ถูกต้อง รหัสนี้แสดงให้เห็นถึง pInvoke ที่ยอดเยี่ยมสำหรับผู้ที่สนใจ Btw .... หลังจากที่คอมไพล์ฉันใส่มันในเส้นทางของฉันที่ไหนสักแห่งเช่น c: \ windows ด้วยวิธีนี้ถ้าฉันพร้อมรับคำสั่ง cmd ฉันสามารถพิมพ์ ImWorkin และฉันดีไป :)
user205533

1
คุณสามารถแก้ไขคำตอบได้โดยคลิกที่ลิงค์แก้ไขด้านล่าง
Dennis

โปรดแก้ไขคำตอบแรกของคุณแล้วลบคำตอบนี้
teylyn

6
WTF ขึ้นอยู่กับ "เดี๋ยวก่อนฉันกำลังคำนวณค่าสองสามอย่าง!" ห่วงดัมมี่?
KalEl

6
ในการตอบสนองต่อรหัส c # โพสต์มันมักจะให้เครดิตกับผู้เขียน มันเกิดขึ้นกับฉัน ฉันโพสต์สิ่งนี้เกือบสองปีที่ผ่านมาบนกองล้นฉันเชื่อว่า


2

ฉันชอบที่จะใช้ตัวเลือกที่ง่ายและครบวงจร ( ไม่มีซอฟต์แวร์เพิ่มเติม ) เช่นสคริปต์ PowerShell (ขอบคุณhttps://dmitrysotnikov.wordpress.com/2009/06/29/prevent-desktop-lock-or-screensaver-with-powershell/ขอบคุณ) ที่ใช้ "f15" เป็นกุญแจสู่ความสำเร็จ (ขอบคุณกับคาเฟอีนจริงๆแล้วมันรบกวนน้อยที่สุด)

param($minutes = 180)

write "... screen will be awake for $minutes"

 $myshell = New-Object -com "Wscript.Shell"

 for ($i = 0; $i -lt $minutes; $i++) {
 write "... screen will be awake for" ($minutes-$i)
 Start-Sleep -Seconds 60    
 $myshell.sendkeys("{F15}")
}

ใส่สิ่งนี้ลงใน myScriptName.ps1 และเริ่มผ่านทางลัดบนเดสก์ท็อปหรือ commandline: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -nop "C:\Users\myUser\Desktop\myScriptName.ps1"

อัปเดต: อาจมีการเปลี่ยนแปลงบางอย่างจากผู้ดูแลระบบ แต่สิ่งนี้ไม่ได้ผลสำหรับฉันอีกต่อไปตอนนี้ฉันต้องใช้ autohotkey-script จาก NBirnel: https://github.com/nbirnel/nosleep - มันใช้งานได้ดีเพราะมัน เลื่อนเมาส์ (โดยไม่รบกวนงานใด ๆ )


ฉันเรียกใช้รหัส แต่ได้รับข้อผิดพลาดต่อไปนี้ โปรดแนะนำ c:\Powershell>powershell -nop myScriptName.ps1 myScriptName.ps1 : The term 'myScriptName.ps1' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1 + myScriptName.ps1 + ~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (myScriptName.ps1:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException c:\Powershell>
Sabrina

@Sabrina บางทีคุณต้องกำหนดพา ธ แบบเต็มไปยังสคริปต์ของคุณดังนั้นไม่ใช่แค่ "myScriptName.ps1" แต่ "c: \ path \ to \ myScriptName.ps1"
eli

1

ในกรณีของฉันเพียงหนึ่งบรรทัดนี้ได้หลอกลวง:

SendKeys.Send("{CAPSLOCK}");

เพียงแค่ใส่มันไว้ในTimer_Tickเหตุการณ์และตั้งค่าช่วงเวลาจับเวลาเป็นเช่น 60000ms


1
ตกลงที่จะสายมากทีเดียวที่จะดำเนินการต่อคำตอบนี้ แต่พิจารณาส่งไม่หนึ่ง แต่สอง CAPSLOCK ถ้าคุณไม่ต้องการให้ฉันไปเริ่มต้นตะโกนในช่วงกลางของความคิดเห็น StackOverflow โดยไม่เข้าใจว่าทำไม (มัน tooks กี่นาทีที่จะเขียนความคิดเห็นนี้)
Gian Paolo

@GianPaolo คุณพูดถูก นี่คือสิ่งที่ฉันทำ ฉันคิดว่ามันชัดเจน แต่บางทีฉันควรแก้ไขคำตอบ
3540753


-1

วิธีที่ถูกต้องในการจัดการคือ:

  • ไปที่รีจิสทรีที่มีนโยบาย
  • กำหนดค่าเป็นสิ่งที่คุณต้องการ
  • และแก้ไขการอนุญาตคีย์รีจิสทรี
  • เพียงปฏิเสธการเขียนการเข้าถึงทุกคนยกเว้นตัวเอง

เมื่อผู้ดูแลระบบปิดใช้งานการตั้งค่าการล็อกหน้าจอการแก้ไขรีจิสทรีจะถูกปิดใช้งานอยู่แล้ว
Gabriel R.

@GabrielR ในฐานะผู้ดูแลระบบคุณสามารถเปลี่ยน ACL ในรีจิสตรีคีย์ได้ หากฉันได้รับความอดทนฉันจะเชื่อมโยงการพูดคุยจาก Mark Russinovish ซึ่งเขากล่าวถึงการกำจัดนโยบายกลุ่มของ Microsoft ที่ล็อคแล็ปท็อปของเขาเอง หากคุณเป็นผู้ดูแลระบบคุณสามารถควบคุมเครื่องได้อย่างสมบูรณ์ เป็นไปได้ว่าจะต้องเริ่มจากการเป็นเจ้าของคีย์รีจิสตรีจากนั้นให้การควบคุมเต็มที่กับตัวคุณเองจากนั้นปฏิเสธคนอื่นยกเว้นการเข้าถึงเพื่ออ่าน
Ian Boyd

-5

คุณควรปิดการใช้งาน "ล็อคหน้าจอ" / "โหมดสลีป" จากแผงควบคุม> ตัวเลือกพลังงาน> เปลี่ยนการตั้งค่าแผน เธอในการคลิกแบบหล่นลงสำหรับ "ทำให้คอมพิวเตอร์เข้าสู่โหมดสลีป" และเลือก "ไม่เคย"


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