PowerShell/scripts/hibernate.ps1

26 lines
756 B
PowerShell
Raw Normal View History

2023-10-31 12:20:46 +01:00
<#
2021-07-13 21:10:02 +02:00
.SYNOPSIS
2022-06-09 16:12:40 +02:00
Hibernates the computer
2021-10-04 21:29:23 +02:00
.DESCRIPTION
2023-07-22 15:08:32 +02:00
This PowerShell script hibernates the local computer immediately.
2021-07-13 21:10:02 +02:00
.EXAMPLE
2023-07-22 15:08:32 +02:00
PS> ./hibernate.ps1
2023-07-22 17:07:02 +02:00
It's 5:04 PM, going to sleep now... 😴💤
2021-07-13 21:10:02 +02:00
.LINK
https://github.com/fleschutz/PowerShell
2022-01-29 12:47:46 +01:00
.NOTES
2022-06-09 16:12:40 +02:00
Author: Markus Fleschutz | License: CC0
2021-02-06 12:20:28 +01:00
#>
try {
2023-07-22 17:07:02 +02:00
[system.threading.thread]::currentThread.currentCulture = [system.globalization.cultureInfo]"en-US"
$CurrentTime = $((Get-Date).ToShortTimeString())
2023-07-29 10:16:52 +02:00
Write-Host "It's $CurrentTime, going to sleep now... 😴💤"
2023-07-22 17:07:02 +02:00
Start-Sleep -milliseconds 500
2022-06-09 16:12:40 +02:00
& rundll32.exe powrprof.dll,SetSuspendState 1,1,0 # bHibernate,bForce,bWakeupEventsDisabled
2021-09-27 10:09:45 +02:00
exit 0 # success
2021-02-06 12:20:28 +01:00
} catch {
2022-04-13 12:06:32 +02:00
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
2021-02-06 12:20:28 +01:00
exit 1
}