Skip to content
Announcement: We are currently not adding any applications to WinUtil and any apps that will be added through a PR will be declined by the maintainer.

# Set Hibernation as default (good for laptops)

Last Updated: 2024-08-07

Info

The Development Documentation is auto generated for every compilation of WinUtil, meaning a part of it will always stay up-to-date. Developers do have the ability to add custom content, which won't be updated automatically.

## Description

Most modern laptops have connected standby enabled which drains the battery, this sets hibernation as default which will not drain the battery. See issue https://github.com/ChrisTitusTech/winutil/issues/1399

Preview Code

    {
      "Content": "Set Hibernation as default (good for laptops)",
      "Description": "Most modern laptops have connected standby enabled which drains the battery, this sets hibernation as default which will not drain the battery. See issue https://github.com/ChrisTitusTech/winutil/issues/1399",
      "category": "Essential Tweaks",
      "panel": "1",
      "Order": "a014_",
      "registry": [
        {
          "Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\Power\\PowerSettings\\238C9FA8-0AAD-41ED-83F4-97BE242C8F20\\7bc4a2f9-d8fc-4469-b07b-33eb785aaca0",
          "OriginalValue": "1",
          "Name": "Attributes",
          "Value": "2",
          "Type": "DWord"
        },
        {
          "Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\Power\\PowerSettings\\abfc2519-3608-4c2a-94ea-171b0ed546ab\\94ac6d29-73ce-41a6-809f-6363ba21b47e",
          "OriginalValue": "0",
          "Name": "Attributes ",
          "Value": "2",
          "Type": "DWord"
        }
      ],
      "InvokeScript": [
        "
          Write-Host \"Turn on Hibernation\"
          Start-Process -FilePath powercfg -ArgumentList \"/hibernate on\" -NoNewWindow -Wait

          # Set hibernation as the default action
          Start-Process -FilePath powercfg -ArgumentList \"/change standby-timeout-ac 60\" -NoNewWindow -Wait
          Start-Process -FilePath powercfg -ArgumentList \"/change standby-timeout-dc 60\" -NoNewWindow -Wait
          Start-Process -FilePath powercfg -ArgumentList \"/change monitor-timeout-ac 10\" -NoNewWindow -Wait
          Start-Process -FilePath powercfg -ArgumentList \"/change monitor-timeout-dc 1\" -NoNewWindow -Wait
          "
      ],
      "UndoScript": [
        "
          Write-Host \"Turn off Hibernation\"
          Start-Process -FilePath powercfg -ArgumentList \"/hibernate off\" -NoNewWindow -Wait

          # Set standby to detault values
          Start-Process -FilePath powercfg -ArgumentList \"/change standby-timeout-ac 15\" -NoNewWindow -Wait
          Start-Process -FilePath powercfg -ArgumentList \"/change standby-timeout-dc 15\" -NoNewWindow -Wait
          Start-Process -FilePath powercfg -ArgumentList \"/change monitor-timeout-ac 15\" -NoNewWindow -Wait
          Start-Process -FilePath powercfg -ArgumentList \"/change monitor-timeout-dc 15\" -NoNewWindow -Wait
          "
      ],
      "link": "https://christitustech.github.io/winutil/dev/tweaks/Essential-Tweaks/LaptopHibernation"
    }

## Invoke Script

          Write-Host "Turn on Hibernation"
          Start-Process -FilePath powercfg -ArgumentList "/hibernate on" -NoNewWindow -Wait

          # Set hibernation as the default action
          Start-Process -FilePath powercfg -ArgumentList "/change standby-timeout-ac 60" -NoNewWindow -Wait
          Start-Process -FilePath powercfg -ArgumentList "/change standby-timeout-dc 60" -NoNewWindow -Wait
          Start-Process -FilePath powercfg -ArgumentList "/change monitor-timeout-ac 10" -NoNewWindow -Wait
          Start-Process -FilePath powercfg -ArgumentList "/change monitor-timeout-dc 1" -NoNewWindow -Wait

## Undo Script

          Write-Host "Turn off Hibernation"
          Start-Process -FilePath powercfg -ArgumentList "/hibernate off" -NoNewWindow -Wait

          # Set standby to detault values
          Start-Process -FilePath powercfg -ArgumentList "/change standby-timeout-ac 15" -NoNewWindow -Wait
          Start-Process -FilePath powercfg -ArgumentList "/change standby-timeout-dc 15" -NoNewWindow -Wait
          Start-Process -FilePath powercfg -ArgumentList "/change monitor-timeout-ac 15" -NoNewWindow -Wait
          Start-Process -FilePath powercfg -ArgumentList "/change monitor-timeout-dc 15" -NoNewWindow -Wait

## Registry Changes

Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.

You can find information about the registry on Wikipedia and Microsoft's Website.

### Registry Key: Attributes

Type: DWord

Original Value: 1

New Value: 2

### Registry Key: Attributes

Type: DWord

Original Value: 0

New Value: 2

View the JSON file

August 7, 2024