Add lock-desktop.ps1 and suspend.ps1

This commit is contained in:
Markus Fleschutz 2022-06-09 16:12:40 +02:00
parent d042c48c42
commit 969a457a15
5 changed files with 50 additions and 13 deletions

View File

@ -1,23 +1,19 @@
<#
.SYNOPSIS
Enables hibernate mode for the local computer (needs admin rights)
Hibernates the computer
.DESCRIPTION
This PowerShell script enables hibernate mode for the local computer. It needs admin rights.
This PowerShell script enables hibernate mode for the local computer immediately.
.EXAMPLE
PS> ./hibernate
.LINK
https://github.com/fleschutz/PowerShell
.NOTES
Author: Markus Fleschutz / License: CC0
Author: Markus Fleschutz | License: CC0
#>
#Requires -RunAsAdministrator
try {
[Void][System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[System.Windows.Forms.Application]::SetSuspendState("Hibernate", $false, $false);
"✔️ Done."
"Bye bye."
& rundll32.exe powrprof.dll,SetSuspendState 1,1,0 # bHibernate,bForce,bWakeupEventsDisabled
exit 0 # success
} catch {
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"

21
Scripts/lock-desktop.ps1 Normal file
View File

@ -0,0 +1,21 @@
<#
.SYNOPSIS
Locks the desktop
.DESCRIPTION
This PowerShell script locks the local computer desktop immediately.
.EXAMPLE
PS> ./lock-desktop
.LINK
https://github.com/fleschutz/PowerShell
.NOTES
Author: Markus Fleschutz | License: CC0
#>
try {
"Bye bye."
rundll32.exe user32.dll,LockWorkStation
exit 0 # success
} catch {
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
exit 1
}

View File

@ -8,13 +8,12 @@
.LINK
https://github.com/fleschutz/PowerShell
.NOTES
Author: Markus Fleschutz / License: CC0
Author: Markus Fleschutz | License: CC0
#>
try {
Invoke-CimMethod -ClassName Win32_Operatingsystem -MethodName Win32Shutdown -Arguments @{ Flags = 0 }
exit 0 # success
} catch {
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"

21
Scripts/suspend.ps1 Normal file
View File

@ -0,0 +1,21 @@
<#
.SYNOPSIS
Suspends the computer
.DESCRIPTION
This PowerShell script suspends the local computer immediately.
.EXAMPLE
PS> ./suspend
.LINK
https://github.com/fleschutz/PowerShell
.NOTES
Author: Markus Fleschutz | License: CC0
#>
try {
"Bye bye."
& rundll32.exe powrprof.dll,SetSuspendState 0,1,0 # bHibernate,bForce,bWakeupEventsDisabled
exit 0 # success
} catch {
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
exit 1
}

View File

@ -10,7 +10,7 @@
.LINK
https://github.com/fleschutz/PowerShell
.NOTES
Author: Markus Fleschutz / License: CC0
Author: Markus Fleschutz | License: CC0
#>
param([string]$RepoDir = "$PWD")