In this blog post, I will show you the steps to enable/disable Windows Fast Startup using Intune. Fast Startup is a windows feature that speeds up the boot time. When you enable Fast startup and shutdown or restart your computer, you will notice a considerable difference in the startup time as the system goes into hibernation mode and never goes into complete shutdown state.
Some drivers or app installations may require full system shutdown or a full restart. Therefore, Fast startup could cause issues when completing the upgrade process. Depending upon your requirement, you can easily enable or disable fast startup on Windows 10/11.
As of writing this blog post, there is no Settings catalog policy available to enable or disable fast startup from Intune admin center. For this, we will create a registry entry called HiberbootEnabled under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power registry key and set its value to 0 to disable Fast Startup and 1 to enable Fast Startup. A reboot of the computer will be required after creating this reg entry.
Contents
Create a PowerShell script to Enable/Disable Fast Startup
As discussed in the previous section, Fast Startup can be disabled by creating a DWORD registry entry named HiberbootEnabled and setting its value to 0
. To Enable Fast Startup on a Windows 10/11 device, set the value to 1
.
I have provided two blocks of code:
- Use Disable_Fast_Startup.ps1 to disable Fast Startup.
- Use Enable_Fast_Startup.ps1 to enable Fast Startup.
Disable_Fast_Startup.ps1
$RegistryPath = "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Power"
$PropertyName = "HiberbootEnabled"
$PropertyValue = 0
Set-ItemProperty -Path $RegistryPath -Name $PropertyName -Value $PropertyValue -Type DWORD -Force -Confirm:$False
Enable_Fast_Startup.ps1
$RegistryPath = "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Power"
$PropertyName = "HiberbootEnabled"
$PropertyValue = 0
Set-ItemProperty -Path $RegistryPath -Name $PropertyName -Value $PropertyValue -Type DWORD -Force -Confirm:$False
Deploy PowerShell Script to Enable/Disable Fast Startup
You can use Intune admin center to upload this PowerShell script and assign it to Windows devices. Upon next Intune device check-in, the script will execute and perform the action as per the code. This would be the easiest method. For a detailed deployment guide on deploying a PowerShell script, refer to the link: Deploy a PowerShell script using Intune.
You can also use Intune device remediation method to deploy this PowerShell script. For Intune device remediations, you will have to modify the script for detecting the reg entry HiberbootEnabled using a detection script and, if not found, then creating or updating this registry entry using a Remediation script. For more details about how to use Intune remediations, refer to the link: Create Registry keys using Intune remediations.
Now, let’s get back to the deployment of PowerShell script to Enable/Disable Fast startup.
- Sign in to the Intune admin center > Devices > Scripts and Remediations > Platform Scripts.
- Click on + Add and then Select Windows 10 and later.
- Basics: Provide a Name and Description of the deployment.
- Script settings:
- Script location: Select the PowerShell script that you want to deploy
- Run this script using the logged on credentials: Change it to No (Selecting No will execute the script in device context).
- Enforce script signature check: Change it to No
- Run script in 64 bit PowerShell Host: Change it to Yes
- Assignments: Click on Add Groups and add an Entra security group containing Windows devices.
- Review + add: Review the information and click Add to start the deployment process.
Sync Intune Policies
The device check-in process might not begin immediately. If you’re testing this policy on a test device, you can manually kickstart the Intune sync from the device itself or remotely through the Intune admin center.
Alternatively, you can use PowerShell to force the Intune sync on Windows devices. Restarting the device is another way to trigger the Intune device check-in process.
Monitor Disable_Fast_Startup.ps1 Deployment Progress
To verify the status of PowerShell script execution from the Intune admin center, follow the below steps:
- Sign in to the Intune admin center > Devices > Scripts and Remediations > Platform Scripts.
- Click on the Script deployment and go to the Overview page to find the status.
End User Experience
On the target device, a PowerShell script deployed via Intune will be downloaded on the device at the following location: C:\Program Files (x86)\Microsoft Intune Management Extension\Policies\Scripts.
After the download, the script is executed. It’s important to note that the scripts downloaded to the device will be automatically deleted after execution, so you may find Scripts folder empty once the script has been run. Since we’ve selected Run this script using the logged-on credentials as No, script will be executed in the Device context. To verify if the script has been executed successfully, follow below steps:
- Press Win + R to open the Run dialog box.
- Type regedit and press Enter to open the Registry Editor.
- Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power registry key and check if HiberbootEnabled registry entry has been created and set to a value as per the script.
Confirm PowerShell Script Execution Status
There are multiple ways to check and confirm if the PowerShell script deployed via Intune has been executed successfully or resulted in failure. I have discussed this in detail in my other blog post, refer to the link for more details: Verify PowerShell script execution status.
Fast Startup Option in Windows Control Panel
You can manually enable or disable Fast Startup option in Windows Control Panel by Navigating to Control Panel > Power Options > Choose what the Power buttons do > Use Turn on Faststart-up checkbox to Enable or Disable it.
What is the OMA-URI Setting for Fast Startup
Refer to the link: Hiberboot which shows the OMA-URI setting: ./Device/Vendor/MSFT/Policy/Config/ADMX_WinInit/Hiberboot.
Fast Startup Settings Catalog Intune Policy
There is one Policy for Fast startup available in the Settings catalog. It’s called Require use of fast startup, it can enable fast startup but cannot disable it. If you leave it at disabled state, local machine settings configured for fast startup will be used.
- Require use of fast startup: This policy setting controls the use of fast startup. If you enable this policy setting, the system requires hibernate to be enabled. If you disable or do not configure this policy setting, the local setting is used. Therefore, as we discussed at the beginning of the post, we can’t use this setting to disable Fast Startup.
Group Policy Setting for Fast Startup
You can also use a group policy related to Fast startup. Similar to a setting available in the Settings catalog, there is a GPO setting called Require use of fast startup. Navigate to Computer Configuration\Policies\Administrative Templates\System\Shutdown\Require use of fast startup and configure the setting. As mentioned earlier, it can be used to enable fast startup, but you cannot use it to disable it.