Windows 7: Disable Lock Workstation After 10 Minutes Using Group Policy
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
On my Windows 7 PC the system becomes locked after 10 minutes of inactivity. Usually I would find this setting next to the screen-saver configuration. The setting is grayed out, however.
I think this is because of corporate group policy. As I am an administrator on this computer I should be able to reconfigure the group policy setting using gpedit.msc.
What is the group policy setting that I need to change to prevent automatic locking of my workstation?
Edit: I don't have configured a screen-saver. I also want to continue to be able to lock the workstation manually.
windows-7 windows group-policy windows-domain gpedit
add a comment |
On my Windows 7 PC the system becomes locked after 10 minutes of inactivity. Usually I would find this setting next to the screen-saver configuration. The setting is grayed out, however.
I think this is because of corporate group policy. As I am an administrator on this computer I should be able to reconfigure the group policy setting using gpedit.msc.
What is the group policy setting that I need to change to prevent automatic locking of my workstation?
Edit: I don't have configured a screen-saver. I also want to continue to be able to lock the workstation manually.
windows-7 windows group-policy windows-domain gpedit
3
Just because the user account is an administrator does not mean you can change any setting on Windows. The domain policy overrides your priviliages.
– Ramhound
Mar 1 '12 at 13:57
Interesting to know. But where can I find this setting? I'd still like to try it.
– usr
Mar 1 '12 at 15:49
1
It DOES mean he can change any settings. That's the power of administrators - they can take ownership of each and everything...
– Martin Binder
Jul 25 '13 at 15:40
add a comment |
On my Windows 7 PC the system becomes locked after 10 minutes of inactivity. Usually I would find this setting next to the screen-saver configuration. The setting is grayed out, however.
I think this is because of corporate group policy. As I am an administrator on this computer I should be able to reconfigure the group policy setting using gpedit.msc.
What is the group policy setting that I need to change to prevent automatic locking of my workstation?
Edit: I don't have configured a screen-saver. I also want to continue to be able to lock the workstation manually.
windows-7 windows group-policy windows-domain gpedit
On my Windows 7 PC the system becomes locked after 10 minutes of inactivity. Usually I would find this setting next to the screen-saver configuration. The setting is grayed out, however.
I think this is because of corporate group policy. As I am an administrator on this computer I should be able to reconfigure the group policy setting using gpedit.msc.
What is the group policy setting that I need to change to prevent automatic locking of my workstation?
Edit: I don't have configured a screen-saver. I also want to continue to be able to lock the workstation manually.
windows-7 windows group-policy windows-domain gpedit
windows-7 windows group-policy windows-domain gpedit
asked Mar 1 '12 at 10:54
usrusr
1,36031525
1,36031525
3
Just because the user account is an administrator does not mean you can change any setting on Windows. The domain policy overrides your priviliages.
– Ramhound
Mar 1 '12 at 13:57
Interesting to know. But where can I find this setting? I'd still like to try it.
– usr
Mar 1 '12 at 15:49
1
It DOES mean he can change any settings. That's the power of administrators - they can take ownership of each and everything...
– Martin Binder
Jul 25 '13 at 15:40
add a comment |
3
Just because the user account is an administrator does not mean you can change any setting on Windows. The domain policy overrides your priviliages.
– Ramhound
Mar 1 '12 at 13:57
Interesting to know. But where can I find this setting? I'd still like to try it.
– usr
Mar 1 '12 at 15:49
1
It DOES mean he can change any settings. That's the power of administrators - they can take ownership of each and everything...
– Martin Binder
Jul 25 '13 at 15:40
3
3
Just because the user account is an administrator does not mean you can change any setting on Windows. The domain policy overrides your priviliages.
– Ramhound
Mar 1 '12 at 13:57
Just because the user account is an administrator does not mean you can change any setting on Windows. The domain policy overrides your priviliages.
– Ramhound
Mar 1 '12 at 13:57
Interesting to know. But where can I find this setting? I'd still like to try it.
– usr
Mar 1 '12 at 15:49
Interesting to know. But where can I find this setting? I'd still like to try it.
– usr
Mar 1 '12 at 15:49
1
1
It DOES mean he can change any settings. That's the power of administrators - they can take ownership of each and everything...
– Martin Binder
Jul 25 '13 at 15:40
It DOES mean he can change any settings. That's the power of administrators - they can take ownership of each and everything...
– Martin Binder
Jul 25 '13 at 15:40
add a comment |
8 Answers
8
active
oldest
votes
To disable Lock:
Under HKEY_LOCAL_MACHINESOFTWARE MicrosoftWindowsCurrentVersionPoliciesSystem
, create a new DWORD
value named DisableLockWorkstation
and set value to 1.
Then restart the computer.
You are the first to answer the question. I will try this suggestion.
– usr
Sep 13 '12 at 13:11
1
Hm didn't work in my case. Maybe group policy is overriding this key?
– usr
Sep 13 '12 at 14:08
Group policy overrides the value but I log on to the domain once every ~6 months so this works like a charm for me.
– st3inn
May 25 '13 at 14:56
add a comment |
The answer to the actual question you asked:
User ConfigurationPoliciesAdministrative TemplatesControl PanelPersonalization
. The required settings are: 'Enable screen saver', 'Screen saver timeout', 'Force specific screen saver' (this is important because if the system has no screensaver configured this won't work) and finally 'Password protect the screensaver'.
from 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
add a comment |
The Group Policy from the domain will likely override any change you make. If this is creating an issue for your work, why not contact the admin and look at solutions. Making changes may be a violation of corporate policy and have consequences.
A quick call should help.
I will do that. But my scenario is that I keep getting locked while using Remote Desktop from home. This does not serve any purpose.
– usr
Mar 1 '12 at 15:49
add a comment |
Group policy overrides your settings, but you can mimick user activity to prevent the screen lock. Check this answer for easy how to.
I since solved the problem using the registry change, but this also looks reasonable as a last-resort solution. Thanks!
– usr
Jul 24 '13 at 10:45
add a comment |
Like others have said, the domain policy will generally override any local settings you try to configure for this. There's a couple other things I'd like to add, though:
Be careful tweaking this setting, whether it be via registry or otherwise. I once tried messing with mine on one system (domain policy is to lock after 15 minutes, but I prefer 5 - can't remember what I changed, though) and the system ended up listening to neither the domain nor my preference even after I rolled back the change. In this case, it ended up not running a screensaver at all. That's exactly what you want, but definitely not what I'd intended. YMMV.
Regardless: Unless your system is the sort that requires full-time immediate access, for the preservation of life and/or property (i.e.: 911 Call Center), it is probably against your organization's policy to prevent the workstation from locking. If your system did fall into that category, then it would probably already be configured not to lock. Therefore, it's best to just leave it alone.
Even if you do manage to change the setting permanently, corporate administrators may detect the computer as being out of compliance and force the policy on again. After a few times of doing this, you or your manager may get a memo or visit from your friendly IT Security department.
But my scenario is that I keep getting locked while using Remote Desktop from home. This does not serve any purpose. We are a small programming shop. There is no corporate IT department.
– usr
Mar 1 '12 at 15:50
2
Even more reason why you should contact whomever administers the domain group policy, and explain the situation to them so they can modify the policy files.
– dotnetengineer
Mar 1 '12 at 17:25
It looks like you changed this setting in the past. Can you tell me where I can find it?
– usr
Mar 1 '12 at 18:25
@usr As I said in my answer, I don't recall which setting I modified to tweak the screen saver. I'm beginning to become a bit confused as to exactly which setting you're trying to address here, though. Is the session getting locked while inactive over RDP, or is the RDP session being entirely disconnected. There are two separate settings for these, and the latter has nothing to do with the screen saver.
– Iszi
Mar 1 '12 at 19:02
The session is being locked. I can see and access the blue lock screen over RD. All programs are still running when I log in.
– usr
Mar 1 '12 at 19:27
add a comment |
Just play some songs in Windows media player by selecting in repeat option.(Mute the volume). Then it never locks or sleeps.
This is crude, but I can confirm that it works for XP (that was the last time I needed to use that trick).
– Hennes
Dec 24 '13 at 20:10
add a comment |
You can use the Nosleep.exe function. It works like a charm. You need to download it from the internet.
This works on Windows 8/7/2008R2/2003 R2
Download link http://www.symantec.com/connect/downloads/readynosleepexe-prevents-screensaver-and-pc-locking
add a comment |
I wanted to do something similar.
I tried the freeware Caffeine but it was blocked by our IT policies. I ended up writing a Python script that does a similar thing (sending the keystroke F15 every xx seconds).
(It can definitely be trimmed to a minimum of lines but just got 15 minutes to spare on it so the first part is a big copy-paste of other code).
Here it is:
#!/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)
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "3"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f395708%2fwindows-7-disable-lock-workstation-after-10-minutes-using-group-policy%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
8 Answers
8
active
oldest
votes
8 Answers
8
active
oldest
votes
active
oldest
votes
active
oldest
votes
To disable Lock:
Under HKEY_LOCAL_MACHINESOFTWARE MicrosoftWindowsCurrentVersionPoliciesSystem
, create a new DWORD
value named DisableLockWorkstation
and set value to 1.
Then restart the computer.
You are the first to answer the question. I will try this suggestion.
– usr
Sep 13 '12 at 13:11
1
Hm didn't work in my case. Maybe group policy is overriding this key?
– usr
Sep 13 '12 at 14:08
Group policy overrides the value but I log on to the domain once every ~6 months so this works like a charm for me.
– st3inn
May 25 '13 at 14:56
add a comment |
To disable Lock:
Under HKEY_LOCAL_MACHINESOFTWARE MicrosoftWindowsCurrentVersionPoliciesSystem
, create a new DWORD
value named DisableLockWorkstation
and set value to 1.
Then restart the computer.
You are the first to answer the question. I will try this suggestion.
– usr
Sep 13 '12 at 13:11
1
Hm didn't work in my case. Maybe group policy is overriding this key?
– usr
Sep 13 '12 at 14:08
Group policy overrides the value but I log on to the domain once every ~6 months so this works like a charm for me.
– st3inn
May 25 '13 at 14:56
add a comment |
To disable Lock:
Under HKEY_LOCAL_MACHINESOFTWARE MicrosoftWindowsCurrentVersionPoliciesSystem
, create a new DWORD
value named DisableLockWorkstation
and set value to 1.
Then restart the computer.
To disable Lock:
Under HKEY_LOCAL_MACHINESOFTWARE MicrosoftWindowsCurrentVersionPoliciesSystem
, create a new DWORD
value named DisableLockWorkstation
and set value to 1.
Then restart the computer.
edited Oct 2 '12 at 10:25
Dave
23.4k74363
23.4k74363
answered Sep 13 '12 at 13:10
JasonJason
12613
12613
You are the first to answer the question. I will try this suggestion.
– usr
Sep 13 '12 at 13:11
1
Hm didn't work in my case. Maybe group policy is overriding this key?
– usr
Sep 13 '12 at 14:08
Group policy overrides the value but I log on to the domain once every ~6 months so this works like a charm for me.
– st3inn
May 25 '13 at 14:56
add a comment |
You are the first to answer the question. I will try this suggestion.
– usr
Sep 13 '12 at 13:11
1
Hm didn't work in my case. Maybe group policy is overriding this key?
– usr
Sep 13 '12 at 14:08
Group policy overrides the value but I log on to the domain once every ~6 months so this works like a charm for me.
– st3inn
May 25 '13 at 14:56
You are the first to answer the question. I will try this suggestion.
– usr
Sep 13 '12 at 13:11
You are the first to answer the question. I will try this suggestion.
– usr
Sep 13 '12 at 13:11
1
1
Hm didn't work in my case. Maybe group policy is overriding this key?
– usr
Sep 13 '12 at 14:08
Hm didn't work in my case. Maybe group policy is overriding this key?
– usr
Sep 13 '12 at 14:08
Group policy overrides the value but I log on to the domain once every ~6 months so this works like a charm for me.
– st3inn
May 25 '13 at 14:56
Group policy overrides the value but I log on to the domain once every ~6 months so this works like a charm for me.
– st3inn
May 25 '13 at 14:56
add a comment |
The answer to the actual question you asked:
User ConfigurationPoliciesAdministrative TemplatesControl PanelPersonalization
. The required settings are: 'Enable screen saver', 'Screen saver timeout', 'Force specific screen saver' (this is important because if the system has no screensaver configured this won't work) and finally 'Password protect the screensaver'.
from 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
add a comment |
The answer to the actual question you asked:
User ConfigurationPoliciesAdministrative TemplatesControl PanelPersonalization
. The required settings are: 'Enable screen saver', 'Screen saver timeout', 'Force specific screen saver' (this is important because if the system has no screensaver configured this won't work) and finally 'Password protect the screensaver'.
from 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
add a comment |
The answer to the actual question you asked:
User ConfigurationPoliciesAdministrative TemplatesControl PanelPersonalization
. The required settings are: 'Enable screen saver', 'Screen saver timeout', 'Force specific screen saver' (this is important because if the system has no screensaver configured this won't work) and finally 'Password protect the screensaver'.
from 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
The answer to the actual question you asked:
User ConfigurationPoliciesAdministrative TemplatesControl PanelPersonalization
. The required settings are: 'Enable screen saver', 'Screen saver timeout', 'Force specific screen saver' (this is important because if the system has no screensaver configured this won't work) and finally 'Password protect the screensaver'.
from 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
answered Feb 12 '16 at 7:55
CAD blokeCAD bloke
702718
702718
add a comment |
add a comment |
The Group Policy from the domain will likely override any change you make. If this is creating an issue for your work, why not contact the admin and look at solutions. Making changes may be a violation of corporate policy and have consequences.
A quick call should help.
I will do that. But my scenario is that I keep getting locked while using Remote Desktop from home. This does not serve any purpose.
– usr
Mar 1 '12 at 15:49
add a comment |
The Group Policy from the domain will likely override any change you make. If this is creating an issue for your work, why not contact the admin and look at solutions. Making changes may be a violation of corporate policy and have consequences.
A quick call should help.
I will do that. But my scenario is that I keep getting locked while using Remote Desktop from home. This does not serve any purpose.
– usr
Mar 1 '12 at 15:49
add a comment |
The Group Policy from the domain will likely override any change you make. If this is creating an issue for your work, why not contact the admin and look at solutions. Making changes may be a violation of corporate policy and have consequences.
A quick call should help.
The Group Policy from the domain will likely override any change you make. If this is creating an issue for your work, why not contact the admin and look at solutions. Making changes may be a violation of corporate policy and have consequences.
A quick call should help.
edited Feb 5 '14 at 15:50
answered Mar 1 '12 at 13:46
Dave MDave M
12.8k92838
12.8k92838
I will do that. But my scenario is that I keep getting locked while using Remote Desktop from home. This does not serve any purpose.
– usr
Mar 1 '12 at 15:49
add a comment |
I will do that. But my scenario is that I keep getting locked while using Remote Desktop from home. This does not serve any purpose.
– usr
Mar 1 '12 at 15:49
I will do that. But my scenario is that I keep getting locked while using Remote Desktop from home. This does not serve any purpose.
– usr
Mar 1 '12 at 15:49
I will do that. But my scenario is that I keep getting locked while using Remote Desktop from home. This does not serve any purpose.
– usr
Mar 1 '12 at 15:49
add a comment |
Group policy overrides your settings, but you can mimick user activity to prevent the screen lock. Check this answer for easy how to.
I since solved the problem using the registry change, but this also looks reasonable as a last-resort solution. Thanks!
– usr
Jul 24 '13 at 10:45
add a comment |
Group policy overrides your settings, but you can mimick user activity to prevent the screen lock. Check this answer for easy how to.
I since solved the problem using the registry change, but this also looks reasonable as a last-resort solution. Thanks!
– usr
Jul 24 '13 at 10:45
add a comment |
Group policy overrides your settings, but you can mimick user activity to prevent the screen lock. Check this answer for easy how to.
Group policy overrides your settings, but you can mimick user activity to prevent the screen lock. Check this answer for easy how to.
edited Mar 20 '17 at 10:17
Community♦
1
1
answered Jul 24 '13 at 7:53
TranslucentCloudTranslucentCloud
8741027
8741027
I since solved the problem using the registry change, but this also looks reasonable as a last-resort solution. Thanks!
– usr
Jul 24 '13 at 10:45
add a comment |
I since solved the problem using the registry change, but this also looks reasonable as a last-resort solution. Thanks!
– usr
Jul 24 '13 at 10:45
I since solved the problem using the registry change, but this also looks reasonable as a last-resort solution. Thanks!
– usr
Jul 24 '13 at 10:45
I since solved the problem using the registry change, but this also looks reasonable as a last-resort solution. Thanks!
– usr
Jul 24 '13 at 10:45
add a comment |
Like others have said, the domain policy will generally override any local settings you try to configure for this. There's a couple other things I'd like to add, though:
Be careful tweaking this setting, whether it be via registry or otherwise. I once tried messing with mine on one system (domain policy is to lock after 15 minutes, but I prefer 5 - can't remember what I changed, though) and the system ended up listening to neither the domain nor my preference even after I rolled back the change. In this case, it ended up not running a screensaver at all. That's exactly what you want, but definitely not what I'd intended. YMMV.
Regardless: Unless your system is the sort that requires full-time immediate access, for the preservation of life and/or property (i.e.: 911 Call Center), it is probably against your organization's policy to prevent the workstation from locking. If your system did fall into that category, then it would probably already be configured not to lock. Therefore, it's best to just leave it alone.
Even if you do manage to change the setting permanently, corporate administrators may detect the computer as being out of compliance and force the policy on again. After a few times of doing this, you or your manager may get a memo or visit from your friendly IT Security department.
But my scenario is that I keep getting locked while using Remote Desktop from home. This does not serve any purpose. We are a small programming shop. There is no corporate IT department.
– usr
Mar 1 '12 at 15:50
2
Even more reason why you should contact whomever administers the domain group policy, and explain the situation to them so they can modify the policy files.
– dotnetengineer
Mar 1 '12 at 17:25
It looks like you changed this setting in the past. Can you tell me where I can find it?
– usr
Mar 1 '12 at 18:25
@usr As I said in my answer, I don't recall which setting I modified to tweak the screen saver. I'm beginning to become a bit confused as to exactly which setting you're trying to address here, though. Is the session getting locked while inactive over RDP, or is the RDP session being entirely disconnected. There are two separate settings for these, and the latter has nothing to do with the screen saver.
– Iszi
Mar 1 '12 at 19:02
The session is being locked. I can see and access the blue lock screen over RD. All programs are still running when I log in.
– usr
Mar 1 '12 at 19:27
add a comment |
Like others have said, the domain policy will generally override any local settings you try to configure for this. There's a couple other things I'd like to add, though:
Be careful tweaking this setting, whether it be via registry or otherwise. I once tried messing with mine on one system (domain policy is to lock after 15 minutes, but I prefer 5 - can't remember what I changed, though) and the system ended up listening to neither the domain nor my preference even after I rolled back the change. In this case, it ended up not running a screensaver at all. That's exactly what you want, but definitely not what I'd intended. YMMV.
Regardless: Unless your system is the sort that requires full-time immediate access, for the preservation of life and/or property (i.e.: 911 Call Center), it is probably against your organization's policy to prevent the workstation from locking. If your system did fall into that category, then it would probably already be configured not to lock. Therefore, it's best to just leave it alone.
Even if you do manage to change the setting permanently, corporate administrators may detect the computer as being out of compliance and force the policy on again. After a few times of doing this, you or your manager may get a memo or visit from your friendly IT Security department.
But my scenario is that I keep getting locked while using Remote Desktop from home. This does not serve any purpose. We are a small programming shop. There is no corporate IT department.
– usr
Mar 1 '12 at 15:50
2
Even more reason why you should contact whomever administers the domain group policy, and explain the situation to them so they can modify the policy files.
– dotnetengineer
Mar 1 '12 at 17:25
It looks like you changed this setting in the past. Can you tell me where I can find it?
– usr
Mar 1 '12 at 18:25
@usr As I said in my answer, I don't recall which setting I modified to tweak the screen saver. I'm beginning to become a bit confused as to exactly which setting you're trying to address here, though. Is the session getting locked while inactive over RDP, or is the RDP session being entirely disconnected. There are two separate settings for these, and the latter has nothing to do with the screen saver.
– Iszi
Mar 1 '12 at 19:02
The session is being locked. I can see and access the blue lock screen over RD. All programs are still running when I log in.
– usr
Mar 1 '12 at 19:27
add a comment |
Like others have said, the domain policy will generally override any local settings you try to configure for this. There's a couple other things I'd like to add, though:
Be careful tweaking this setting, whether it be via registry or otherwise. I once tried messing with mine on one system (domain policy is to lock after 15 minutes, but I prefer 5 - can't remember what I changed, though) and the system ended up listening to neither the domain nor my preference even after I rolled back the change. In this case, it ended up not running a screensaver at all. That's exactly what you want, but definitely not what I'd intended. YMMV.
Regardless: Unless your system is the sort that requires full-time immediate access, for the preservation of life and/or property (i.e.: 911 Call Center), it is probably against your organization's policy to prevent the workstation from locking. If your system did fall into that category, then it would probably already be configured not to lock. Therefore, it's best to just leave it alone.
Even if you do manage to change the setting permanently, corporate administrators may detect the computer as being out of compliance and force the policy on again. After a few times of doing this, you or your manager may get a memo or visit from your friendly IT Security department.
Like others have said, the domain policy will generally override any local settings you try to configure for this. There's a couple other things I'd like to add, though:
Be careful tweaking this setting, whether it be via registry or otherwise. I once tried messing with mine on one system (domain policy is to lock after 15 minutes, but I prefer 5 - can't remember what I changed, though) and the system ended up listening to neither the domain nor my preference even after I rolled back the change. In this case, it ended up not running a screensaver at all. That's exactly what you want, but definitely not what I'd intended. YMMV.
Regardless: Unless your system is the sort that requires full-time immediate access, for the preservation of life and/or property (i.e.: 911 Call Center), it is probably against your organization's policy to prevent the workstation from locking. If your system did fall into that category, then it would probably already be configured not to lock. Therefore, it's best to just leave it alone.
Even if you do manage to change the setting permanently, corporate administrators may detect the computer as being out of compliance and force the policy on again. After a few times of doing this, you or your manager may get a memo or visit from your friendly IT Security department.
answered Mar 1 '12 at 14:18
IsziIszi
7,4833691158
7,4833691158
But my scenario is that I keep getting locked while using Remote Desktop from home. This does not serve any purpose. We are a small programming shop. There is no corporate IT department.
– usr
Mar 1 '12 at 15:50
2
Even more reason why you should contact whomever administers the domain group policy, and explain the situation to them so they can modify the policy files.
– dotnetengineer
Mar 1 '12 at 17:25
It looks like you changed this setting in the past. Can you tell me where I can find it?
– usr
Mar 1 '12 at 18:25
@usr As I said in my answer, I don't recall which setting I modified to tweak the screen saver. I'm beginning to become a bit confused as to exactly which setting you're trying to address here, though. Is the session getting locked while inactive over RDP, or is the RDP session being entirely disconnected. There are two separate settings for these, and the latter has nothing to do with the screen saver.
– Iszi
Mar 1 '12 at 19:02
The session is being locked. I can see and access the blue lock screen over RD. All programs are still running when I log in.
– usr
Mar 1 '12 at 19:27
add a comment |
But my scenario is that I keep getting locked while using Remote Desktop from home. This does not serve any purpose. We are a small programming shop. There is no corporate IT department.
– usr
Mar 1 '12 at 15:50
2
Even more reason why you should contact whomever administers the domain group policy, and explain the situation to them so they can modify the policy files.
– dotnetengineer
Mar 1 '12 at 17:25
It looks like you changed this setting in the past. Can you tell me where I can find it?
– usr
Mar 1 '12 at 18:25
@usr As I said in my answer, I don't recall which setting I modified to tweak the screen saver. I'm beginning to become a bit confused as to exactly which setting you're trying to address here, though. Is the session getting locked while inactive over RDP, or is the RDP session being entirely disconnected. There are two separate settings for these, and the latter has nothing to do with the screen saver.
– Iszi
Mar 1 '12 at 19:02
The session is being locked. I can see and access the blue lock screen over RD. All programs are still running when I log in.
– usr
Mar 1 '12 at 19:27
But my scenario is that I keep getting locked while using Remote Desktop from home. This does not serve any purpose. We are a small programming shop. There is no corporate IT department.
– usr
Mar 1 '12 at 15:50
But my scenario is that I keep getting locked while using Remote Desktop from home. This does not serve any purpose. We are a small programming shop. There is no corporate IT department.
– usr
Mar 1 '12 at 15:50
2
2
Even more reason why you should contact whomever administers the domain group policy, and explain the situation to them so they can modify the policy files.
– dotnetengineer
Mar 1 '12 at 17:25
Even more reason why you should contact whomever administers the domain group policy, and explain the situation to them so they can modify the policy files.
– dotnetengineer
Mar 1 '12 at 17:25
It looks like you changed this setting in the past. Can you tell me where I can find it?
– usr
Mar 1 '12 at 18:25
It looks like you changed this setting in the past. Can you tell me where I can find it?
– usr
Mar 1 '12 at 18:25
@usr As I said in my answer, I don't recall which setting I modified to tweak the screen saver. I'm beginning to become a bit confused as to exactly which setting you're trying to address here, though. Is the session getting locked while inactive over RDP, or is the RDP session being entirely disconnected. There are two separate settings for these, and the latter has nothing to do with the screen saver.
– Iszi
Mar 1 '12 at 19:02
@usr As I said in my answer, I don't recall which setting I modified to tweak the screen saver. I'm beginning to become a bit confused as to exactly which setting you're trying to address here, though. Is the session getting locked while inactive over RDP, or is the RDP session being entirely disconnected. There are two separate settings for these, and the latter has nothing to do with the screen saver.
– Iszi
Mar 1 '12 at 19:02
The session is being locked. I can see and access the blue lock screen over RD. All programs are still running when I log in.
– usr
Mar 1 '12 at 19:27
The session is being locked. I can see and access the blue lock screen over RD. All programs are still running when I log in.
– usr
Mar 1 '12 at 19:27
add a comment |
Just play some songs in Windows media player by selecting in repeat option.(Mute the volume). Then it never locks or sleeps.
This is crude, but I can confirm that it works for XP (that was the last time I needed to use that trick).
– Hennes
Dec 24 '13 at 20:10
add a comment |
Just play some songs in Windows media player by selecting in repeat option.(Mute the volume). Then it never locks or sleeps.
This is crude, but I can confirm that it works for XP (that was the last time I needed to use that trick).
– Hennes
Dec 24 '13 at 20:10
add a comment |
Just play some songs in Windows media player by selecting in repeat option.(Mute the volume). Then it never locks or sleeps.
Just play some songs in Windows media player by selecting in repeat option.(Mute the volume). Then it never locks or sleeps.
answered Dec 24 '13 at 19:48
Madhusudhan VMadhusudhan V
111
111
This is crude, but I can confirm that it works for XP (that was the last time I needed to use that trick).
– Hennes
Dec 24 '13 at 20:10
add a comment |
This is crude, but I can confirm that it works for XP (that was the last time I needed to use that trick).
– Hennes
Dec 24 '13 at 20:10
This is crude, but I can confirm that it works for XP (that was the last time I needed to use that trick).
– Hennes
Dec 24 '13 at 20:10
This is crude, but I can confirm that it works for XP (that was the last time I needed to use that trick).
– Hennes
Dec 24 '13 at 20:10
add a comment |
You can use the Nosleep.exe function. It works like a charm. You need to download it from the internet.
This works on Windows 8/7/2008R2/2003 R2
Download link http://www.symantec.com/connect/downloads/readynosleepexe-prevents-screensaver-and-pc-locking
add a comment |
You can use the Nosleep.exe function. It works like a charm. You need to download it from the internet.
This works on Windows 8/7/2008R2/2003 R2
Download link http://www.symantec.com/connect/downloads/readynosleepexe-prevents-screensaver-and-pc-locking
add a comment |
You can use the Nosleep.exe function. It works like a charm. You need to download it from the internet.
This works on Windows 8/7/2008R2/2003 R2
Download link http://www.symantec.com/connect/downloads/readynosleepexe-prevents-screensaver-and-pc-locking
You can use the Nosleep.exe function. It works like a charm. You need to download it from the internet.
This works on Windows 8/7/2008R2/2003 R2
Download link http://www.symantec.com/connect/downloads/readynosleepexe-prevents-screensaver-and-pc-locking
answered Mar 31 '14 at 8:10
GontieGontie
111
111
add a comment |
add a comment |
I wanted to do something similar.
I tried the freeware Caffeine but it was blocked by our IT policies. I ended up writing a Python script that does a similar thing (sending the keystroke F15 every xx seconds).
(It can definitely be trimmed to a minimum of lines but just got 15 minutes to spare on it so the first part is a big copy-paste of other code).
Here it is:
#!/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)
add a comment |
I wanted to do something similar.
I tried the freeware Caffeine but it was blocked by our IT policies. I ended up writing a Python script that does a similar thing (sending the keystroke F15 every xx seconds).
(It can definitely be trimmed to a minimum of lines but just got 15 minutes to spare on it so the first part is a big copy-paste of other code).
Here it is:
#!/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)
add a comment |
I wanted to do something similar.
I tried the freeware Caffeine but it was blocked by our IT policies. I ended up writing a Python script that does a similar thing (sending the keystroke F15 every xx seconds).
(It can definitely be trimmed to a minimum of lines but just got 15 minutes to spare on it so the first part is a big copy-paste of other code).
Here it is:
#!/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)
I wanted to do something similar.
I tried the freeware Caffeine but it was blocked by our IT policies. I ended up writing a Python script that does a similar thing (sending the keystroke F15 every xx seconds).
(It can definitely be trimmed to a minimum of lines but just got 15 minutes to spare on it so the first part is a big copy-paste of other code).
Here it is:
#!/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)
edited Apr 23 '18 at 3:33
answered Apr 16 '18 at 15:30
Jean-Francois T.Jean-Francois T.
3501314
3501314
add a comment |
add a comment |
Thanks for contributing an answer to Super User!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f395708%2fwindows-7-disable-lock-workstation-after-10-minutes-using-group-policy%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
3
Just because the user account is an administrator does not mean you can change any setting on Windows. The domain policy overrides your priviliages.
– Ramhound
Mar 1 '12 at 13:57
Interesting to know. But where can I find this setting? I'd still like to try it.
– usr
Mar 1 '12 at 15:49
1
It DOES mean he can change any settings. That's the power of administrators - they can take ownership of each and everything...
– Martin Binder
Jul 25 '13 at 15:40