Category filter
Script to change screensaver time on Windows
A screensaver is set to turn on after a period of inactivity of the user. It is important to protect your devices when unattended as it is vulnerable to potential intruders. A screensaver prevents someone from viewing your personal files and can also be used as a medium to display your brand when idle. You can set a time delay for inactivity before the preset screensaver kicks in with Hexnode’s custom script feature.
PowerShell script
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
param( [int]$timeLimit ) try { if($timeLimit) { "changing machine inactivity limit to "+ $timeLimit + " seconds" $path = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\' $name = 'InactivityTimeoutSecs' Set-ItemProperty -Path $path -Name $name -Value $timeLimit "-----inactivity limit successfully updated-----" } else { "-----------please provide machine inactivity limit as argument (in seconds)-----------" } } catch { Write-Output $_.Exception.Message } |
The script takes input $timeLimit
in seconds and modifies the wait time for the screensaver already set by the user on the device to take effect.
The script works by modifying the registry to change InactivityTimeoutSecs
at the path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\
.
The time delay is set in seconds (1 to 60) in the Arguments field. If the argument field is either left empty or set to a value of 0, the script returns an output to enter the inactivity limit in seconds as an argument.
Batch script
1 |
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v InactivityTimeoutSecs /t REG_DWORD /d <time> /f |
The reg add
command will create a REG_DWORD under the location HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System. Replace <time>
with an integer value ranging from 1 to 60, indicating the wait time (in seconds) for the screensaver on the device to take effect.
Alternatively, you can use the same script after replacing <time>
with 0 to restore the screensaver time to its default setting.
For example:
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v InactivityTimeoutSecs /t REG_dWORD /d 60 /f