2012-03-01 10:54:52 +0000 2012-03-01 10:54:52 +0000
8
8

Windows 7: Wyłącz blokowanie stacji roboczej po 10 minutach za pomocą zasad grupy

Na moim komputerze z Windows 7 system blokuje się po 10 minutach bezczynności. Zazwyczaj znajduję to ustawienie obok konfiguracji wygaszacza ekranu. Jednak to ustawienie jest wyszarzone.

Myślę, że jest to spowodowane korporacyjną polityką grupy. Ponieważ jestem administratorem na tym komputerze, powinienem być w stanie ponownie skonfigurować ustawienia polityki grupowej za pomocą gpedit.msc.

Jakie ustawienie zasad grupy muszę zmienić, aby zapobiec automatycznemu blokowaniu mojej stacji roboczej?

Edycja: Nie mam skonfigurowanego wygaszacza ekranu. Chcę również nadal mieć możliwość ręcznego blokowania stacji roboczej.

Odpowiedzi (8)

11
11
11
2012-09-13 13:10:00 +0000

Aby wyłączyć Blokadę:

W polu HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\Windows\CurrentVersion\Policies\System utwórz nową wartość DWORD o nazwie DisableLockWorkstation i ustaw wartość na 1.

Następnie uruchom ponownie komputer.

5
5
5
2016-02-12 07:55:45 +0000

Odpowiedź na aktualne pytanie, które zadałeś:

User Configuration\Policies\Administrative Templates\Control Panel\Personalization. Wymagane ustawienia to: ‘Enable screen saver’, ‘Screen saver timeout’, ‘Force specific screen saver’ (to ważne, bo jeśli system nie ma skonfigurowanego wygaszacza ekranu to nie zadziała) i wreszcie ‘Password protect the screensaver’.

z https://social.technet.microsoft.com/Forums/windowsserver/en-US/5c2518d4-f531-471a-a649-0f5dd5495679/group-policy-to-auto-lock-the-system-after-fix-interval?forum=winserverGP

3
3
3
2012-03-01 13:46:01 +0000

Polityka Grupy z domeny prawdopodobnie zastąpi każdą zmianę, którą wprowadzisz. Jeśli stanowi to problem dla Twojej pracy, dlaczego nie skontaktować się z administratorem i nie poszukać rozwiązań. Wprowadzanie zmian może być naruszeniem polityki korporacyjnej i mieć konsekwencje.

Szybki telefon powinien pomóc.

2
2
2
2013-07-24 07:53:23 +0000

Polityka grupy zastępuje twoje ustawienia, ale możesz naśladować aktywność użytkownika, aby zapobiec blokadzie ekranu. Sprawdź ta odpowiedź dla łatwego jak to zrobić.

1
1
1
2018-04-16 15:30:18 +0000

Chciałem zrobić coś podobnego.

Próbowałem darmowego programu Caffeine ale został zablokowany przez naszą politykę IT. Skończyło się na napisaniu skryptu w Pythonie, który robi podobną rzecz (wysyła naciśnięcie klawisza F15 co xx sekund).

(Zdecydowanie można go przyciąć do minimum linii, ale mam tylko 15 minut do dyspozycji, więc pierwsza część jest kopiuj-wklej z innego kodu).

Oto jest:

#!/python

import ctypes
import random
import re
import time
from argparse import ArgumentParser, HelpFormatter

LONG = ctypes.c_long
DWORD = ctypes.c_ulong
ULONG_PTR = ctypes.POINTER(DWORD)
WORD = ctypes.c_ushort

class MOUSEINPUT(ctypes.Structure):
    _fields_ = (
        ('dx', LONG), ('dy', LONG), ('mouseData', DWORD),
        ('dwFlags', DWORD), ('time', DWORD),
        ('dwExtraInfo', ULONG_PTR)
    )

class KEYBDINPUT(ctypes.Structure):
    _fields_ = (
        ('wVk', WORD), ('wScan', WORD),
        ('dwFlags', DWORD), ('time', DWORD),
        ('dwExtraInfo', ULONG_PTR)
    )

class _INPUTunion(ctypes.Union):
    _fields_ = (
        ('mi', MOUSEINPUT),
        ('ki', KEYBDINPUT)
    )

class INPUT(ctypes.Structure):
    _fields_ = (('type', DWORD), ('union', _INPUTunion))

def SendInput(*inputs):
    nInputs = len(inputs)
    LPINPUT = INPUT * nInputs
    pInputs = LPINPUT(*inputs)
    cbSize = ctypes.c_int(ctypes.sizeof(INPUT))
    return ctypes.windll.user32.SendInput(nInputs, pInputs, cbSize)

INPUT_MOUSE = 0
INPUT_KEYBOARD = 1

def Input(structure):
    if isinstance(structure, MOUSEINPUT):
        return INPUT(INPUT_MOUSE, _INPUTunion(mi=structure))
    elif isinstance(structure, KEYBDINPUT):
        return INPUT(INPUT_KEYBOARD, _INPUTunion(ki=structure))
    else:
        raise TypeError('Cannot create INPUT structure (keyboard)!')

keys = {
    'DEFAULT': 0x7E, # F15 key
    'SNAPSHOT': 0x2C, # PRINT SCREEN key

    'F1': 0x70, # F1 key
    'F2': 0x71, # F2 key
    'F3': 0x72, # F3 key
    'F4': 0x73, # F4 key
    'F5': 0x74, # F5 key
    'F6': 0x75, # F6 key
    'F7': 0x76, # F7 key
    'F8': 0x77, # F8 key
    'F9': 0x78, # F9 key
    'F10': 0x79, # F10 key
    'F11': 0x7A, # F11 key
    'F12': 0x7B, # F12 key
    'F13': 0x7C, # F13 key
    'F14': 0x7D, # F14 key
    'F15': 0x7E, # F15 key
    'F16': 0x7F, # F16 key
    'F17': 0x80, # F17 key
    'F18': 0x81, # F18 key
    'F19': 0x82, # F19 key
    'F20': 0x83, # F20 key
    'F21': 0x84, # F21 key
    'F22': 0x85, # F22 key
    'F23': 0x86, # F23 key
    'F24': 0x87, # F24 key
}

def Keyboard(code, flags=0):
    # Code for key 0..9 or A..Z: it corresponds to the the ASCII code
    if len(code) == 1 and re.match(r'[0-9A-Za-z]', code):
        key = ord(code.upper())
    # Keys 'F...': we use code in the dictionary
    else:
        key = keys.get(code.upper(), keys['DEFAULT'])
    return Input(KEYBDINPUT(key, key, flags, 0, None))

############################################################################

sentences = [
    "Don't sleep!",
    "Stay awake!",
    "Are you still here?",
    "Hello...",
    "Want some coffee?",
    "What are you doing?"
]

def keep_alive(delay, nb_cycles=-1, key='F15'):
    """
    Send keystroke F15 at a given delay for a given nb of cycles

    Args:
        delay(int): delay in seconds
        nb_cycles(int): number of cycles (set to -1 for unlimited)
        key(str): Key to send (default: 'F15')
    """
    print("Trust me, I will keep you alive!\n")   
    while nb_cycles != 0:
        time.sleep(delay)
        SendInput(Keyboard(key))
        print(random.choice(sentences))
        nb_cycles -= 1

if __name__ == ' __main__':
    # Information on the Program
    copyright_year = 2018
    prog = "stay_awake"
    version_str = "%s v1.0" % prog
    help_string = """\
    Purpose: Send a keystroke (F15) to simulate user activity
    """

    # Options
    parser = ArgumentParser(
        description=help_string, prog=prog,
        formatter_class=lambda prog:
        HelpFormatter(prog, max_help_position=60)
    )
    parser.add_argument(
        "-k", "--key",
        type=str, default='F15',
        help="Key to send [Dflt: F15]"
    )
    parser.add_argument(
        "-d", "--delay",
        type=int, default=234,
        help="Delay (in s) between keystrokes [Dflt: 234]"
    )
    parser.add_argument(
        "-r", "--duration", 
        type=int, default=-1,
        help="Duration (in s) or negative value for infinite"
    )
    options = parser.parse_args()

    # Run
    nb_cycles = options.duration if options.duration < 0 \
           else int(options.duration/options.delay)
    keep_alive(options.delay, nb_cycles, key=options.key)
1
1
1
2013-12-24 19:48:30 +0000

Wystarczy odtworzyć kilka utworów w Windows media player, wybierając opcję powtarzania (wyciszenie głośności). Wtedy nigdy się nie blokuje ani nie usypia.

1
1
1
2014-03-31 08:10:52 +0000

Możesz użyć funkcji Nosleep.exe. Działa ona jak czarodziej. Musisz go pobrać z internetu.

To działa na Windows 8/7/2008R2/2003 R2

Link do pobrania http://www.symantec.com/connect/downloads/readynosleepexe-prevents-screensaver-and-pc-locking

1
1
1
2012-03-01 14:18:25 +0000

Jak powiedzieli inni, polityka domeny będzie generalnie nadrzędna w stosunku do wszelkich lokalnych ustawień, które próbujesz skonfigurować w tym zakresie. Jest jeszcze kilka innych rzeczy, które chciałbym dodać:

Bądź ostrożny przy zmianie tego ustawienia, czy to przez rejestr czy w inny sposób. Kiedyś próbowałem manipulować moimi ustawieniami na jednym systemie (polityka domeny zakłada blokowanie po 15 minutach, ale ja wolę po 5 - nie pamiętam co zmieniłem) i system skończył nie słuchając ani domeny, ani moich preferencji, nawet po cofnięciu zmiany. W tym przypadku skończyło się na tym, że w ogóle nie uruchomił wygaszacza ekranu. To jest dokładnie to, czego chcesz, ale zdecydowanie nie to, co zamierzałem. YMMV.

Bez względu na wszystko: O ile twój system nie jest rodzajem, który wymaga natychmiastowego dostępu w pełnym wymiarze godzin, w celu ochrony życia i / lub mienia (tj.: 911 Call Center), prawdopodobnie jest to sprzeczne z polityką twojej organizacji, aby uniemożliwić blokowanie stacji roboczej. Jeśli twój system did należą do tej kategorii, to prawdopodobnie już skonfigurowane, aby nie blokować. Dlatego najlepiej jest po prostu zostawić go w spokoju.

Nawet jeśli uda Ci się zmienić ustawienie na stałe, administratorzy firmy mogą wykryć komputer jako niezgodny z polityką i wymusić ponowne włączenie tej polityki. Po kilku razach takiego postępowania, Ty lub Twój menedżer możecie otrzymać notatkę lub wizytę od zaprzyjaźnionego działu bezpieczeństwa IT.