web-dev-qa-db-ja.com

Windows 7:グループポリシーを使用して10分後にLock Workstationを無効にする

私のWindows 7 PCでは、10分間何も操作しないとシステムがロックされます。通常、この設定はスクリーンセーバー構成の横にあります。 ただし、設定はグレー表示されています

これは企業グループの方針によるものだと思います。私はこのコンピューターの管理者なので、gpedit.mscを使用してグループポリシー設定を再構成できるはずです。

ワークステーションの自動ロックを防ぐために変更する必要があるグループポリシー設定は何ですか?

編集:スクリーンセーバーを設定していません。また、ワークステーションを手動でロックできるようにしたいと考えています。

8
usr

ロックを無効にするには:

HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\Windows\CurrentVersion\Policies\SystemDWORDという名前の新しいDisableLockWorkstation値を作成し、値を1に設定します。

次に、コンピュータを再起動します。

11
Jason

あなたが尋ねた実際の質問への答え:

User Configuration\Policies\Administrative Templates\Control Panel\Personalization。必要な設定は、「スクリーンセーバーを有効にする」、「スクリーンセーバーのタイムアウト」、「特定のスクリーンセーバーを強制する」(システムにスクリーンセーバーが設定されていない場合、これは機能しないため重要です)、最後に「パスワードスクリーンセーバーを保護する」です。

から 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

5
CAD bloke

ドメインのグループポリシーは、変更内容を上書きする可能性があります。これがあなたの仕事に問題を引き起こしているなら、管理者に連絡して解決策を見てみませんか?変更を加えると、企業ポリシーに違反し、結果が生じる可能性があります。

迅速な電話が役立つはずです。

3
Dave M

グループポリシーは設定を上書きしますが、ユーザーアクティビティを模倣して画面ロックを防ぐことができます。簡単な方法については この答え を確認してください。

2

Nosleep.exe関数を使用できます。それは魅力のように働きます。インターネットからダウンロードする必要があります。

これはWindows 8/7/2008R2/2003 R2で動作します

ダウンロードリンク http://www.symantec.com/connect/downloads/readynosleepexe-prevents-screensaver-and-pc-locking

1
Gontie

他の人が言ったように、ドメインポリシーは通常、このために構成しようとするローカル設定を上書きします。ただし、他にいくつか追加したいことがあります。

レジストリを使用するかどうかに関係なく、この設定の調整には注意してください。私はかつて1つのシステムで自分のいじりを試みました(ドメインポリシーは15分後にロックすることですが、5を好みます-変更した内容を思い出せません)。そして、システムはどちらのドメインもリッスンしなくなりましたnor変更をロールバックした後でも私の好み。この場合、スクリーンセーバーがまったく実行されなくなりました。それはまさにあなたが望んでいることですが、間違いなく私が意図したものではありません。 YMMV。

関係ありません:生命および/または財産の保全のためにフルタイムの即時アクセスを必要とする種類のシステムでない場合(例:911コールセンター)、ワークステーションのロックを防ぐことはおそらく組織のポリシーに反します。システムdidがそのカテゴリに該当する場合、おそらくすでにロックしないように構成されています。したがって、そのままにします

設定を永久に変更しても、企業の管理者がコンピュータをコンプライアンス違反として検出し、ポリシーを再度強制する場合があります。これを数回行った後、あなたまたはあなたのマネージャーは、友好的なITセキュリティ部門からメモや訪問を受けるかもしれません。

1
Iszi

同様のことをしたかったのです。

フリーウェア カフェイン を試しましたが、ITポリシーによってブロックされました。私は結局、Python同様のことをするスクリプト(キーストロークを送る F15 xx秒ごと)。

(間違いなく最小限の行にトリミングできますが、15分余裕があるため、最初の部分は他のコードの大きなコピー貼り付けです)。

ここにあります:

#!/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

リピートオプションを選択して、Windowsメディアプレーヤーでいくつかの曲を再生するだけです(音量をミュートします)。その後、ロックもスリープもしません。

1
Madhusudhan V