RelaxedIT.EnergySaver.psm1
function RelaxedIT.EnergySaver.Run { param ( [int]$interval = 300, [string]$config = "C:\ProgramData\RelaxedIT\EnergySaver.json" ) $processnames = (Get-ConfigfromJSON -config $config).id while ($true) { # Check if EnergySaverBlockingapps are running? $anyrunning = Get-Process -Name $processnames -ErrorAction SilentlyContinue if ($anyrunning) { # Change the terminal title $host.ui.RawUI.WindowTitle = "NO: Energy Server Mode" # Disable sleep mode powercfg -change -standby-timeout-ac 0 powercfg -change -monitor-timeout-ac 10 Write-customLOG -logtext $anyrunning.ProcessName -join ";" Write-customLOG -logtext "is running. Sleep mode disabled." } else { $host.ui.RawUI.WindowTitle = "EnergyTimeout 20 Min" # Enable sleep mode after 20 minutes powercfg -change -standby-timeout-ac 20 powercfg -change -monitor-timeout-ac 10 Write-customLOG -logtext "Neither ""$config"" is running. Sleep mode enabled after 20 minutes." } # Wait for the interval before checking again Start-Sleep -Seconds $interval } } |