Skip to content

Instantly share code, notes, and snippets.

@jamesfreeman959
Last active October 12, 2024 10:51
Show Gist options
  • Save jamesfreeman959/231b068c3d1ed6557675f21c0e346a9c to your computer and use it in GitHub Desktop.
Save jamesfreeman959/231b068c3d1ed6557675f21c0e346a9c to your computer and use it in GitHub Desktop.
A very simple PowerShell script to keep a Windows PC awake and make lync think the user is active on the keyboard
# Useful references:
#
# https://superuser.com/questions/992511/emulate-a-keyboard-button-via-the-command-line
# https://ss64.com/vb/sendkeys.html
# https://social.technet.microsoft.com/Forums/windowsserver/en-US/96b339e2-e9da-4802-a66d-be619aeb21ac/execute-function-one-time-in-every-10-mins-in-windows-powershell?forum=winserverpowershell
# https://learn-powershell.net/2013/02/08/powershell-and-events-object-events/
#
# Future enhancements - use events rather than an infinite loop
$wsh = New-Object -ComObject WScript.Shell
while (1) {
# Send Shift+F15 - this is the least intrusive key combination I can think of and is also used as default by:
# http://www.zhornsoftware.co.uk/caffeine/
# Unfortunately the above triggers a malware alert on Sophos so I needed to find a native solution - hence this script...
$wsh.SendKeys('+{F15}')
Start-Sleep -seconds 59
}
@dend
Copy link

dend commented Apr 18, 2024

@stringTrimmer thank you for the shout-out! 🥳

@jheinrichs79
Copy link

I added some extra features and built an EXE using some of your code.
Random keep alive time
Dynamic time to run (application will ask you if you didn't enter it at run time)
Add a Pause at completion (optional)
Included a compiled version

https://github.com/jheinrichs79/Public/blob/main/Powershell/Utilities/Start-KeepAwake/
https://github.com/jheinrichs79/Public/blob/main/Powershell/Utilities/Start-KeepAwake/Start-KeepAwake.ps1
https://github.com/jheinrichs79/Public/blob/main/Powershell/Utilities/Start-KeepAwake/Start-KeepAwake.exe

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment