
Disabling Windows Fast Startup / Boot with Intune
I usually leave Windows Fast Startup enabled (deafult) because the user experience is better and boot times matter. However, in some environments it becomes a hard blocker. Certain applications simply do not work reliably as long as Fast Startup is active, no matter how clean the rest of the setup is.
What is Fast Startup / Fast Boot
Fast Startup is a hybrid shutdown mechanism. The kernel session is written to disk and reused on the next boot. From a management perspective, that means the device does not fully reset state when users shut it down.
Some applications rely on a real shutdown to release drivers, services, file locks, or low level dependencies. With Fast Startup enabled, those components may persist across boots. The result is flaky behaviour that disappears after a restart but comes back after a shutdown. This is one of the hardest problems to troubleshoot because it looks random.
From an Intune perspective, this becomes more painful when you try to enforce a consistent configuration. You may want Fast Startup disabled globally, but the platform does not give you a clean policy switch for it.
Settings catalog limitation
Intune does expose a Fast Startup related setting in the Settings catalog. The policy is called Require use of fast startup, and its behaviour is one directional.
It can enforce Fast Startup to be enabled. It cannot enforce it to be disabled.
Setting the policy to Disabled or leaving it unconfigured does not turn Fast Startup off. In that state, Windows simply keeps using whatever is configured locally on the device. If Fast Startup was already enabled, Intune will not change it.
This is an important distinction. Many admins assume Disabled means off. In this case, it means unmanaged.

If your goal is to guarantee that Fast Startup is disabled across devices, the Settings catalog cannot do that. You need to modify the underlying system configuration directly, which is why PowerShell is required.
How to disable it with Intune
Disabling Fast Startup requires changing the local machine setting tied to hibernation. This is not exposed as a clean MDM toggle and must be done via script.
Use a platform script if you want a one time change. (only an admin could change it) Use a proactive remediation if you want ongoing/monitored enforcement.
Platform script
Use this when you want to disable Fast Startup once, for example during rollout or Autopilot. The setting is stored under HKLM and can only be modified by a user with local administrator rights.
A standard user cannot change this value manually. Once set, it stays in place unless an admin, OEM tool, or update changes it.
$Path = “HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Power” $Key = “HiberbootEnabled” $KeyFormat = “DWord” $Value = “0”
}else{Set-ItemProperty -Path $Path -Name $Key -Value $Value -Type $KeyFormat}$Path = "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Power"
$Key = “HiberbootEnabled” $KeyFormat = “DWord” $Value = “0”
}else{Set-ItemProperty -Path $Path -Name $Key -Value $Value -Type $KeyFormat}
To deploy it via Intune go to Devices > Windows > Scripts and remediations > Platform script and add a new one:

Remediation (Proactive Remediation)
If Fast Startup must stay disabled, a proactive remediation is the safest option. It continuously validates the device state and corrects it if the setting is re enabled by updates, OEM tools, or manual changes.
Detection Script
$Path = “HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Power” $Name = “HiberbootEnabled” $Value = 0
Try {
$Registry = Get-ItemProperty -Path $Path -Name $Name -ErrorAction Stop | Select-Object -ExpandProperty $Name
If ($Registry -eq $Value){
Write-Output "Fast Startup is already disabled."
Exit 0
}
Write-Output "Fast Startup is active. Remediation needed."
Exit 1
}
Catch {
Write-Warning "ERROR while reading status of Fast Startup."
Exit 1
}$Path = "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Power"
$Name = “HiberbootEnabled” $Value = 0
Try {
$Registry = Get-ItemProperty -Path $Path -Name $Name -ErrorAction Stop | Select-Object -ExpandProperty $Name
If ($Registry -eq $Value){
Write-Output "Fast Startup is already disabled."
Exit 0
}
Write-Output "Fast Startup is active. Remediation needed."
Exit 1
}
Catch {
Write-Warning "ERROR while reading status of Fast Startup."
Exit 1
}
Remedaition script
$Path = “HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Power” $Key = “HiberbootEnabled” $KeyFormat = “DWord” $Value = “0”
}else{Set-ItemProperty -Path $Path -Name $Key -Value $Value -Type $KeyFormat}$Path = "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Power"
$Key = “HiberbootEnabled” $KeyFormat = “DWord” $Value = “0”
}else{Set-ItemProperty -Path $Path -Name $Key -Value $Value -Type $KeyFormat}
Example scenario
An application works fine after a restart but fails after a shutdown. Support keeps asking users to reboot instead of shutting down. Disabling Fast Startup should resolves the issue immediately and permanently.
Recommendation
Start by leaving Fast Startup enabled. For most users, the faster boot experience is worth it and causes no issues. Only disable it when you can clearly link application instability or inconsistent behaviour to hybrid shutdown.
If you do need it off, disable it explicitly using PowerShell via Intune. Treat this as an exception, not a baseline.
Fast Startup is a UX optimisation until an application requires a real shutdown.