HomeNewsletterCommunityMVP FeedToolsArchiveBlogToday's NewsAboutServicesQuick Links Subscribe free
← Back to Blog
Autopilot AutopilotBitLockerSilent EncryptionIntuneEnrollment Status PageDisk EncryptionEntra IDTPMWindows 11

Autopilot silent BitLocker: the race between the ESP and your encryption policy

IA
Imran Awan
21 August 2026

Silent BitLocker encryption during Windows Autopilot looks like a switch. You set two policy values, you assign the profile, and devices arrive encrypted. In practice it is not a switch. It is a race. On one side, Windows is trying to encrypt the disk on its own as soon as the out-of-box experience (OOBE) finishes. On the other side, Intune is trying to deliver a disk encryption policy before that happens. Whoever gets there first decides what the device ends up with. The loser leaves no obvious trace. Weeks later a compliance report shows a handful of laptops that are simply not encrypted, and nobody can say why.

The short version

Two different mechanisms can encrypt an Autopilot device: BitLocker automatic device encryption, which runs on its own after OOBE using XTS-AES 128-bit by default, and policy-driven silent encryption from the BitLocker configuration service provider (CSP). Microsoft documents that during Autopilot, BitLocker is enabled after the device setup portion of the Enrollment Status Page (ESP), and that if an ESP is not enabled, the BitLocker policy does not apply before encryption starts. So the ESP is not decoration here. It is the thing that holds the door open long enough for your policy to arrive. Silent enablement also needs a specific set of prerequisites to be true at that moment, and AllowStandardUserEncryption only works when AllowWarningForOtherDiskEncryption is set to 0.

The problem: the laptop reached the desktop unencrypted

The report always arrives late. Someone exports the Intune encryption report before an audit, sorts by encryption status, and finds a group of Autopilot-provisioned laptops sitting at Not encrypted. The devices are enrolled. They are compliant on everything else. The disk encryption profile shows as successfully applied. And yet the operating system volume has no protection on it.

intune.microsoft.comDevices › Manage devices › ConfigurationMonitorDevice encryption status

There is a second, quieter version of this failure that catches even careful teams. The device is encrypted, so the report shows green. But it is encrypted with XTS-AES 128-bit when your policy asked for XTS-AES 256-bit. Nobody notices, because the column you are looking at only says encrypted. Microsoft is blunt about the cost of fixing this one. A device that receives the settings after encrypting automatically has to be decrypted before the algorithm can be changed. On a fleet, that is a re-provisioning exercise dressed up as a policy change.

Context: these are not one mechanism misbehaving. They are two mechanisms that both encrypt disks. BitLocker automatic device encryption is a Windows feature that turns itself on after OOBE on qualifying hardware, with no policy involved. Policy-driven silent encryption is what you configure in Intune through the BitLocker CSP. Almost every confusing Autopilot encryption outcome comes from not knowing which of the two actually ran on that device.

The reason nobody notices at the time is that silent means silent. Suppressing the warning prompt suppresses the encryption notification as well. There is no toast, no wizard, no yellow shield in File Explorer to say that something did not happen. The user signs in, gets a desktop, and starts work. The evidence of what happened, or failed to happen, sits in an event log channel that nobody opens until an audit forces it.

Why it happens: two encryption engines racing one policy delivery

To fix the race you have to understand both runners. Start with the one that does not wait for you.

Runner one: automatic device encryption

Device encryption is a Windows feature that enables BitLocker automatically on qualifying devices. It starts during OOBE. Microsoft documents the hardware conditions, and they matter, because a device that does not meet them will not encrypt itself at all.

ConditionWhat it meansNotes
TPM presentTrusted Platform Module 1.2 or 2.0, with PCR 7 supportPCR 7 measures Secure Boot state. Extra option ROM drivers, or an extra certificate authority hash in the boot path, prevent BitLocker choosing PCR 7 binding
UEFI Secure Boot enabledPlatform Secure Boot must also be enabledSilent enablement requires it. Without it you get the error about the UEFI variable SecureBoot not being readable
Modern Standby or HSTI compliantModern Standby requirements, or a passing Hardware Security Testability Interface (HSTI) testRemoved from Windows 11 version 24H2 onward
No un-allowed DMA interfacesNo externally accessible Direct Memory Access portsAlso removed from Windows 11 version 24H2 onward. The AllowedBuses registry key is ignored from 24H2
250 MB free on the system partitionAbove and beyond the files needed to boot and recover WindowsThe system partition itself must not be encrypted

The sequencing inside automatic device encryption is the part that trips people up. Encryption is initialised on the operating system drive with a clear key, which Microsoft describes as the equivalent of BitLocker being suspended. In that state the volume looks encrypted but the data is not protected. Protection is only armed when the user signs in with a Microsoft Entra ID account or a Microsoft account. For an Entra joined device, the recovery password is created when the user authenticates to Entra ID, the key is backed up to Entra ID, the TPM protector is created, and only then is the clear key removed.

The gotcha: Microsoft states plainly that if a device uses only local accounts, it "remains unprotected even though the data is encrypted". A device that encrypted itself but never had a successful Entra sign-in is not a protected device. It is a device with a clear key sitting on the disk next to the data.

And the default algorithm is the crux of the whole post. Automatic device encryption uses XTS-AES 128-bit by default. If your organisation standardised on 256-bit, every device that encrypts itself before your policy arrives is wrong, permanently, until it is decrypted.

Runner two: policy-driven silent encryption

The BitLocker CSP path is the one you control. A handful of nodes do the work, and they are interdependent in a way the setting names do not advertise. Every node below hangs off one shared parent.

./Device/Vendor/MSFT/BitLocker/
NodeValue for silent encryptionDocumented behaviour
RequireDeviceEncryption1Setting this to 1 triggers encryption of all drives, silently or non-silently depending on the next node. Setting it to 0 does not decrypt anything, it just stops prompting
AllowWarningForOtherDiskEncryption0Disables the warning prompt and the encryption notification. Windows will attempt to silently enable BitLocker. Takes effect only if RequireDeviceEncryption is 1, and the value 0 applies to Entra joined devices only
AllowStandardUserEncryption1Lets RequireDeviceEncryption encrypt fixed drives even when the signed-in user is a standard user. Has a hard dependency on AllowWarningForOtherDiskEncryption being 0
EncryptionMethodByDriveTypeSet all three drive types3 is AES-CBC 128, 4 is AES-CBC 256, 6 is XTS-AES 128, 7 is XTS-AES 256. You must specify values for all three drive types or the node fails with a 500 return status
SystemDrivesRequireStartupAuthenticationEnabled, PIN and key not allowedThe parent for the four TPM startup options. Only one additional authentication option can be required at startup, otherwise a policy error occurs
SystemDrivesRecoveryOptionsBackup requiredHolds the escrow decisions, including do not enable BitLocker until recovery information is stored in AD DS
ConfigureRecoveryPasswordRotation1 or 21 turns on rotation upon use for Entra joined devices, 2 for both Entra joined and hybrid joined. Effective only when recovery password backup is configured as required

That standard-user dependency deserves its own sentence, because it is the most common reason a correct-looking policy does nothing at all. The documentation is explicit. If AllowWarningForOtherDiskEncryption is not set, or is set to 1, then RequireDeviceEncryption will not try to encrypt drives while a standard user is the current logged-on user. On a user-driven Autopilot deployment where the enrolling user is deliberately not a local administrator, that is every single device.

There is also an operating system floor that shifts with the same question. If end users sign in as administrators, silent enablement needs Windows 10 version 1803 or later, or Windows 11. If they sign in as standard users, it needs Windows 10 version 1809 or later, or Windows 11.

Watch out: setting AllowWarningForOtherDiskEncryption to 0 suppresses the warning about other disk encryption software. Microsoft warns that enabling BitLocker on a device with non-Microsoft encryption "may render the device unusable and will require reinstallation of Windows". Silent BitLocker policies bypass that warning by design, which is exactly why you inventory for third-party encryption products before you deploy the policy, not after.

The actual ordering, and where the ESP sits

Here is the sequence Microsoft documents, and it is worth reading twice. BitLocker has logic that does not start encrypting until the end of OOBE, after the Enrollment Status Page device configuration phase is complete. That delay exists specifically to give the device enough time to receive the BitLocker policy settings before encryption starts. And from the Autopilot side: during Windows Autopilot, BitLocker will be enabled after the device setup portion of the Enrollment Status Page.

Then comes the line that turns the ESP from a nice-to-have into a hard requirement. In the Autopilot BitLocker guidance, the last step of configuring the policy says to configure and assign an Enrollment Status Page for the Windows Autopilot device, because if an ESP is not enabled, the BitLocker policy does not apply before encryption starts.

Put those together and the failure mode is obvious. The ESP device setup phase is the window. Your disk encryption policy has to arrive inside that window. Turn the ESP off, or let the device leave the ESP early, and the window closes before the policy lands. Automatic device encryption then does what it was always going to do, with its own defaults.

The gotcha that catches baselines: Microsoft calls this out directly. Silent BitLocker requires that devices must not require a TPM startup PIN or startup key, because those need user interaction. The Security baseline for Microsoft Defender can enable TPM startup PIN and key by default. Deploy that baseline alongside a silent encryption policy and you have quietly configured silent encryption to be impossible. Review your baselines for the conflict before you blame the ESP.

Encryption type, and why you cannot choose it under silent enablement

When BitLocker is enabled silently, the encryption type is decided by hardware, not by you. Microsoft documents that the system automatically uses full disk encryption on non-Modern Standby devices and used space only encryption on Modern Standby devices, and that the type cannot be customised for silent encryption scenarios. The BitLocker CSP puts it even more starkly for RequireDeviceEncryption: only full disk encryption is supported when using this CSP for silent encryption.

If you need to pin the type anyway, that is what SystemDrivesEncryptionType is for, surfaced in the settings catalog as Enforce drive encryption type on operating system drives. But like the algorithm, it only applies when BitLocker is first enabled. Late is the same as never.

Recovery key escrow, and its own separate timing problem

Encryption succeeding and the key being recoverable are two different outcomes. The order of backup endpoints for a fixed data drive is documented and specific: the user's Active Directory Domain Services account, then the user's Entra ID account, then the user's personal OneDrive for MDM or MAM only. Encryption waits until one of those three locations backs up successfully.

For the operating system drive the behaviour hinges on the warning prompt. When you disable the warning prompt, the OS drive's recovery key backs up to the user's Entra account. When you allow the prompt, the user who receives it chooses where the key goes, which is not a decision you want a new starter making on their first morning.

Context: the setting that removes all ambiguity here is Do not enable BitLocker until recovery information is stored in AD DS for operating system drives, part of SystemDrivesRecoveryOptions. With it enabled, a recovery password is generated automatically and BitLocker will not turn on until the backup succeeds. It is also a precondition for recovery password rotation to be effective at all. For Entra joined devices the password goes to Entra ID. For hybrid joined devices it goes to both Active Directory and Entra ID.

One capacity limit is worth committing to memory, because it produces a genuinely baffling symptom. Microsoft Entra ID supports a maximum of 200 BitLocker recovery keys per device. Reach that limit and silent encryption fails, because the recovery key backup that has to happen before encryption starts cannot complete. Devices that have been reset and re-provisioned many times over are the ones that hit it.

Watch out: deleting the Intune object for an Entra joined device that is protected by BitLocker triggers a device sync that removes the key protectors from the operating system volume. Microsoft documents that this leaves BitLocker in a suspended state on that volume. The disk still reads as encrypted. It is not protected.

The Group Policy surface underneath all of it

BitLocker predates MDM, so most of these settings are ADMX-backed and land in the same registry key whether they arrive by Group Policy or by CSP. The Group Policy home for all of them is Computer Configuration > Administrative Templates > Windows Components > BitLocker Drive Encryption, with per-drive-type subfolders. The shared registry parent is stated once here, and every value in the table sits directly under it.

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\FVE
Value nameGroup Policy settingWhy it matters to silent encryption
UseAdvancedStartupRequire additional authentication at startupThe parent switch. Must be enabled before the four TPM startup options become configurable at all
UseTPMConfigure TPM startupAllow TPM or Require TPM. Anything that demands more than the TPM breaks silence
UseTPMPINConfigure TPM startup PINMust be set to do not allow. A required PIN needs a human at the keyboard
UseTPMKeyConfigure TPM startup keyMust be set to do not allow, for the same reason
UseTPMKeyPINConfigure TPM startup key and PINMust be set to do not allow
EncryptionMethodWithXtsOsChoose drive encryption method and cipher strengthThe OS drive algorithm. This is the value that has to arrive before encryption begins
EncryptionMethodWithXtsFdvChoose drive encryption method and cipher strengthFixed data drive algorithm. All three drive types must be specified together
EncryptionMethodWithXtsRdvChoose drive encryption method and cipher strengthRemovable data drive algorithm
OSEncryptionTypeEnforce drive encryption type on operating system drivesFull versus used space only. Ignored if the drive is already encrypted or encryption is in progress
OSRecoveryChoose how BitLocker-protected operating system drives can be recoveredThe container for every escrow decision on the OS drive
OSActiveDirectoryBackupSave BitLocker recovery information to AD DS, operating system drivesTurns on backup of the recovery password, or the password plus key package
OSRequireActiveDirectoryBackupDo not enable BitLocker until recovery information is stored in AD DSMakes escrow a precondition of encryption. Also required for password rotation to take effect
FDVRecoveryChoose how BitLocker-protected fixed drives can be recoveredThe fixed data drive equivalent of OSRecovery
FDVEncryptionTypeEnforce drive encryption type on fixed data drivesFixed drive full versus used space only
OSEnablePreBootPinExceptionOnDECapableDeviceAllow devices compliant with InstantGo or HSTI to opt out of preboot PINLets device-encryption-capable hardware skip a preboot PIN that would otherwise block silence
DisallowStandardUserPINResetDisallow standard users from changing the PIN or passwordRelevant once you have deliberately chosen a PIN and given up on silence
Watch out, these four have no Group Policy equivalent: RequireDeviceEncryption, AllowWarningForOtherDiskEncryption, AllowStandardUserEncryption and ConfigureRecoveryPasswordRotation are each documented as GPO: Not available. They are CSP-only. You cannot build silent encryption with Group Policy alone, no matter how complete your BitLocker GPO is. This is the one place where a domain-joined-forever mindset produces a device that never encrypts.

How to verify: read the device, then read the fleet

Verification comes before the fix, because the fix depends on which of the two runners won. A device that never encrypted needs a prerequisite corrected. A device that encrypted with the wrong algorithm needs decrypting. Those are different tickets, and only the device can tell you which one you have.

Step one: the volume itself

Two commands answer most of it. manage-bde -status gives you the conversion status and the encryption method. Get-BitLockerVolume gives you the same information plus the protector types, which is the tell you actually want.

PowerShell — on the device (run elevated)
PS C:\> Get-BitLockerVolume -MountPoint C | Format-List MountPoint : C: EncryptionMethod : XtsAes128 VolumeStatus : FullyEncrypted ProtectionStatus : On LockStatus : Unlocked EncryptionPercentage : 100 VolumeType : OperatingSystem KeyProtector : {RecoveryPassword, Tpm} # Healthy shape for a silently encrypted Autopilot device: # ProtectionStatus On, not Off. Off with FullyEncrypted means a clear key. # Protectors are exactly Tpm plus RecoveryPassword. Nothing interactive. # TpmPin or ExternalKey here means silent enablement did not do this. PS C:\> manage-bde.exe -status C: Conversion Status: Used Space Only Encrypted Encryption Method: XTS-AES 128 Protection Status: Protection On # Used Space Only on a Modern Standby device is the documented silent default. # Full Encryption is the documented silent default on non-Modern Standby.

Three readings matter together. ProtectionStatus of Off on a volume that reports FullyEncrypted is the clear-key state, which means encryption ran but protection was never armed. A protector list that contains TpmPin, TpmStartupKey or Password means something interactive created it, so silent enablement is not what happened here. And XtsAes128 on a device whose policy asks for 256-bit is the fingerprint of automatic device encryption winning the race.

Tip: that last comparison is the single most useful check in this whole article, and it costs one line. Read EncryptionMethodWithXtsOs from the FVE key, translate it (6 is XTS-AES 128, 7 is XTS-AES 256), and compare it to the volume's actual EncryptionMethod. A mismatch where the volume is on the 128-bit default is close to proof that encryption started before your policy landed.

Step two: the event log, and the channel names that are not what the docs say

This is where the timeline lives. Microsoft directs you to Event Viewer, under Applications and Services Logs > Microsoft > Windows > BitLocker-API, and to read the Management and Operational logs there.

There is a wrinkle worth knowing if you script against these logs. The troubleshooting article names the channels as Microsoft-Windows-BitLocker-API/Management and Microsoft-Windows-BitLocker-API/Operational, but the wevtutil example on that same page uses a different string. On a current Windows 11 install, the channel names that wevtutil el actually enumerates are the second form. Use the enumerated names in scripts and treat the folder label in Event Viewer as a display name.

Microsoft-Windows-BitLocker/BitLocker Management
Microsoft-Windows-BitLocker/BitLocker Operational
Microsoft-Windows-BitLocker/Tracing
Microsoft-Windows-BitLocker-DrivePreparationTool/Admin
Microsoft-Windows-BitLocker-DrivePreparationTool/Operational
Event Viewer — Microsoft-Windows-BitLocker/BitLocker Management
Level
Date and time
Event
Message
Warning
10:41:02
853
A compatible TPM Security Device cannot be found on this computer
Error
10:41:05
854
Failed to enable Silent Encryption. WinRe is not configured
Error
10:44:18
846
Failed to backup BitLocker recovery information for volume C: to your Entra ID. TraceId: {aaaaaaaa-0b0b-1c1c-2d2d-333333333333}
Error
10:44:19
778
The BitLocker volume C: was reverted to an unprotected state
Information
11:02:44
845
Recovery information for volume C: was backed up successfully to your Entra ID

Read that list as a story rather than a set of unrelated rows. The 846 followed immediately by a 778 is the sequence that produces an unencrypted device: the escrow failed, so BitLocker reverted the volume rather than leaving a key nobody could recover. That is the system behaving correctly and still handing you a non-compliant laptop.

The documented event identifiers are worth keeping in one place. All of them appear in the Management log of the channel named above.

Event IDWhat it meansWhat to do about it
796Normal BitLocker operation eventNothing. Alongside 845 this is what a healthy device looks like
845Recovery information for the volume was backed up successfullyNothing. This is the escrow confirmation you are looking for
846Failed to back up BitLocker recovery information to Entra IDCheck network availability and Entra join health. Known error 0x80072f9a on Windows 10 1809 is a private-key permission issue fixed by the May 2019 update
778The volume was reverted to an unprotected stateAlmost always follows a failed 846. Fix escrow first, then re-trigger
851Failed to enable Silent Encryption, contact the manufacturer for BIOS upgrade instructionsThe device is in legacy BIOS mode. Silent encryption does not support it. Check BIOS Mode in msinfo32
853A compatible TPM cannot be found, or bootable media was detectedTwo different causes on one ID. Read the message body. Either enable the TPM in firmware, or remove the bootable CD or DVD and restart
854Failed to enable Silent Encryption. WinRE is not configuredRun reagentc.exe /info, then reagentc.exe /enable. If that errors, check that the boot loader recoverysequence is a real GUID and not zeros
789BitLocker preboot PIN modificationInformational, in the PIN modification task category. Its presence means someone is using PINs, which rules out silent enablement

Reading escrow evidence is a one-liner, and this is the query worth wiring into a proactive remediation detection script.

PowerShell — escrow evidence for the OS volume
PS C:\> Get-WinEvent -FilterHashtable @{ >> LogName = 'Microsoft-Windows-BitLocker/BitLocker Management' >> Id = 845, 846, 851, 778 >> } | Select-Object TimeCreated, Id, LevelDisplayName TimeCreated Id LevelDisplayName ----------- -- ---------------- 21/08/2026 11:02:44 845 Information 21/08/2026 10:44:19 778 Error 21/08/2026 10:44:18 846 Error # Only 845 and no 846 is the clean result you want. # 846 with no later 845 means no recoverable key exists for this volume. # If this query errors, do NOT read that as "no problems found".

Step three: the registry, for what policy actually arrived

Microsoft names two subkeys to check when confirming that Intune policy reached the device. Read them together with the FVE key, because they tell you three different things: what the CSP delivered, what the ADMX-backed settings resolved to, and whether device encryption was suppressed outright.

Registry Editor
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\current\device\BitLocker
RequireDeviceEncryption            REG_DWORD   0x00000001 (1)
AllowWarningForOtherDiskEncryption   REG_DWORD   0x00000000 (0)
AllowStandardUserEncryption        REG_DWORD   0x00000001 (1)
ConfigureRecoveryPasswordRotation    REG_DWORD   0x00000001 (1)
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\FVE
EncryptionMethodWithXtsOs          REG_DWORD   0x00000007 (7)
UseAdvancedStartup                REG_DWORD   0x00000001 (1)
UseTPMPIN                        REG_DWORD   0x00000000 (0)
OSRequireActiveDirectoryBackup       REG_DWORD   0x00000001 (1)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BitLocker
PreventDeviceEncryption            (value not present)

The PolicyManager key is the one that answers "did the policy arrive at all". If that key is absent, no BitLocker CSP policy has ever reached the device, and every other check is downstream of that. If PreventDeviceEncryption exists and is set to 1, automatic device encryption has been suppressed by the image or the manufacturer, and only your policy can encrypt the machine.

Step four: the CSP status bitmask, which names the exact failure

The BitLocker CSP exposes Status/DeviceEncryptionStatus, and this is the most precise diagnostic Microsoft publishes. Zero means compliant. Anything else is a bitmask where each bit names one specific reason. The Intune encryption report surfaces these as its Status details field, so the same list explains both the device and the portal.

BitWhat it meansFirst thing to check
0Policy requires user consent to launch the wizard, and the user did not consentAllowWarningForOtherDiskEncryption is not 0, so encryption is not silent
1The encryption method of the OS volume does not match policyThe race was lost. Compare the volume method to EncryptionMethodWithXtsOs. Fixing it needs decryption
2The OS volume is unprotectedEncryption was suspended or never completed on the OS drive
3Policy requires a TPM-only protector but TPM protection is not usedAn interactive protector exists where a bare TPM protector was required
4, 5, 6Policy requires TPM+PIN, TPM+startup key, or TPM+PIN+startup key, and it is missingThese three mean you are not configured for silent encryption at all
7Policy requires a TPM protector but a TPM is not usedTPM disabled in firmware, or the policy allows BitLocker without a TPM
8Recovery key backup failedGo straight to event 846. Also check the 200-key-per-device Entra limit
9A fixed drive is unprotectedPolicy applied but fixed drive encryption was suspended or incomplete
10The encryption method of the fixed drive does not match policyThe fixed drive version of bit 1
11Encryption needs an administrator sign-in, or AllowStandardUserEncryption set to 1This is the standard-user trap. Set the node, and remember it needs the warning suppressed too
12Windows Recovery Environment is not configuredEvent 854. Run reagentc.exe /info
13A TPM is not available, is disabled in the registry, or the OS is on a removable driveEvent 853. Enable the TPM in firmware
14The TPM is not ready for BitLockerThe TPM is present but may need initialising
15The network is not available, which recovery key backup requiresEscrow cannot complete offline. Check connectivity during OOBE
16, 17The full versus used-space-only encryption type of the OS or fixed drive does not match policyYou set SystemDrivesEncryptionType after the device had already encrypted

Step five: audit the whole fleet, not one device

One device tells you the mechanism. The fleet tells you the scale. The Intune encryption report is the front door, and it is exportable to CSV from the report pane. Behind it, Microsoft Graph exposes the same data as a collection you can query and group.

Graph betaGET /deviceManagementmanagedDeviceEncryptionStates

The useful field on each record is advancedBitLockerStates, which carries the same failure vocabulary as the bitmask above in readable form. Group your unencrypted Windows devices by it and the pattern usually falls out in one pass: a pile of loggedOnUserNonAdmin means the standard-user node is missing; a pile of recoveryKeyBackupFailed means escrow, not encryption, is your problem; windowsRecoveryEnvironmentNotConfigured means your image is the problem; and osVolumeEncryptionMethodMismatch is the timing race, quantified.

The gotcha: managedDeviceEncryptionStates is a beta resource, and Microsoft states that beta APIs are subject to more frequent change. Two more caveats on the report itself: it can take up to 24 hours for Intune to report a device's encryption status or a change to it, and for Windows devices the encryption status field looks only at the OS drive, not at fixed drives. Do not treat a fresh export as real-time truth.

The fix: make the policy land before the disk does

The fix has two halves, and doing only one of them is how most people end up here. The first half is the disk encryption policy itself. The second half is the ESP that gives it time to arrive.

Half one: the disk encryption policy

intune.microsoft.comEndpoint securityDisk encryptionCreate Policy
  1. Sign in to the Microsoft Intune admin center.
  2. Select Endpoint security, then under Manage select Disk encryption.
  3. Select + Create Policy. Set Platform to Windows and Profile to BitLocker, then select Create.
  4. Give the profile a name, then select Next.
  5. Set Require Device Encryption to Enabled.
  6. Set Allow Warning For Other Disk Encryption to Disabled. Doing this reveals the next setting.
  7. Set Allow Standard User Encryption to Enabled. Skip this and any device whose enrolling user is a standard user will not encrypt.
  8. Expand BitLocker Drive Encryption and set Choose drive encryption method and cipher strength to Enabled, then pick a method for all three drive types: fixed data drives, operating system drive, and removable data drives.
  9. Expand Operating System Drives. Set Require additional authentication at startup to Enabled, which reveals the four TPM controls.
  10. Set Configure TPM startup to Allow TPM or Require TPM. Set Configure TPM startup PIN, Configure TPM startup key, and Configure TPM startup key and PIN all to the corresponding Do not allow option.
  11. Still under Operating System Drives, configure the recovery options so that recovery information is saved to Entra ID and BitLocker does not enable until that backup succeeds.
  12. Optionally set Enforce drive encryption type on operating system drives to Enabled and choose full or used-space-only, if you need to override the hardware-determined default.
  13. Optionally set Configure Recovery Password Rotation to enable rotation on use.
  14. On Assignments, target the device group containing your Autopilot devices. Microsoft is explicit that this must be a device group and not a user group.
  15. Review and save.
The gotcha: Microsoft documents that the Settings Catalog does not include the TPM startup authentication controls needed for reliable silent BitLocker enablement, and recommends endpoint security or device configuration policies for BitLocker scenarios instead. If you build your BitLocker config purely in the Settings Catalog because that is where you build everything else, you can end up unable to express step 10.

If you are on the older device configuration template rather than endpoint security, the equivalent settings live under Windows Encryption in the Endpoint protection profile, with different names: Warning for other disk encryption set to Block, and Allow standard users to enable encryption during Microsoft Entra join set to Allow.

DevicesManage devices › ConfigurationTemplatesEndpoint protection

Half two: the Enrollment Status Page

DevicesDevice onboarding › EnrollmentWindows › Windows AutopilotEnrollment Status Page
  1. Go to Devices, expand Device onboarding, and select Enrollment.
  2. On the Windows tab, under Windows Autopilot, select Enrollment Status Page.
  3. Select Create, or edit the default profile if you would rather not add another.
  4. Set Show app and profile configuration progress to Yes. Without this the ESP does not appear, and the window your policy needs never opens.
  5. Set Block device use until all apps and profiles are installed to Yes. This is the setting that keeps the device in the ESP long enough.
  6. Review the time-out value. The default is 60 minutes. Raise it if your device-phase app set is large.
  7. Decide on Allow users to use device if installation error occurs. Setting it to Yes gives users an escape hatch out of the ESP, which is also an escape hatch out of the encryption window.
  8. On Assignments, target the same Autopilot device group. Remember that in pre-provisioning and self-deploying scenarios, Intune only applies profiles targeted at devices.
  9. Review and create. If you have multiple ESP profiles, check the priority order, because the highest-priority device-targeted profile wins.
Tip: if you have multiple ESP profiles and are not certain which one a device got, remember the documented resolution order. Intune applies the highest-priority profile assigned to the device, then the highest-priority profile assigned to the user, then the default profile. A device that is not registered for Autopilot and has no device-targeted ESP will fall through to the default, and if the default has the ESP hidden, that device has no encryption window at all.

What to do about the devices that already lost the race

For devices that are unencrypted, fix the prerequisite the bitmask or event log named, then let the policy re-evaluate on the next sync. Nothing needs to be destroyed.

For devices encrypted with the wrong algorithm or the wrong type, the honest answer is that there is no in-place fix. Microsoft says it twice, once for the algorithm and once for the encryption type: the device must be decrypted before the new setting can apply, and changing the type has no effect if the drive is already encrypted or encryption is in progress. Plan that as a wipe-and-reprovision wave rather than a policy tweak, and make sure the new policy and the ESP are both in place before the devices come back.

Proof it worked: what a correctly encrypted device looks like

The companion script for this post is Get-AutopilotBitLockerReadiness.ps1. It is read-only, it never prints a recovery password or a key protector identifier, and it aborts with a clear message rather than reporting a misleadingly clean result if any query it depends on fails. It checks the platform prerequisites, the volume state, the escrow evidence, the delivered policy, and the encryption-method comparison that exposes the timing race.

Get-AutopilotBitLockerReadiness.ps1 — illustrative output, a healthy device
Platform prerequisites for silent encryption -------------------------------------------------------------------------- Firmware mode : UEFI Secure Boot : On TPM present : True TPM ready : True Windows RE status : Enabled Modern Standby (S0 low power) : Available Join state : Microsoft Entra joined PreventDeviceEncryption : (not set) BitLocker volume state -------------------------------------------------------------------------- Volume C: [OperatingSystem] Protection status : On Encryption method : XtsAes256 Protector types present : RecoveryPassword, Tpm Recovery password exists : True Note: recovery passwords and key protector IDs are deliberately not printed. ESP timing signal: policy encryption method versus actual -------------------------------------------------------------------------- Policy method for OS drive : XTS-AES 256 Actual method on OS volume : XtsAes256 Verdict -------------------------------------------------------------------------- PASS Encryption method matches policy Both are XTS-AES 256. Policy landed before encryption started. PASS Recovery key escrow Event 845 seen 1 time(s) with no 846 failures in the window. PASS No interactive startup protector No PIN, startup key or password protector on the OS volume. FAIL 0 WARN 0 UNKNOWN 0 # The line that matters is the method comparison. Matching means the # ESP held the device long enough for the policy to arrive first.

That output block is illustrative rather than a capture from a production Autopilot device, and it is labelled as such deliberately. The script itself was run and validated on Windows PowerShell 5.1 and PowerShell 7, with zero parse errors and no non-ASCII characters, but the values above represent the healthy shape rather than any real machine.

Three signals in that output prove the race was won. The encryption method on the volume equals the method in policy, which can only happen if the policy arrived before BitLocker was first enabled. The protector list is exactly Tpm plus RecoveryPassword, with nothing interactive, which is the fingerprint of silent enablement rather than a wizard. And there is an 845 with no 846, which means a recoverable key genuinely exists in Entra ID rather than merely being expected to.

Finish in the portal, because the device view and the tenant view have to agree before you close the ticket.

DevicesAll devices › select a deviceMonitorRecovery keys
Context on what that page proves: when keys are present, Intune shows the BitLocker Key ID, the recovery key, and the drive type. When they are not, it shows No BitLocker key found for this device, which is the tenant-side version of a missing 845. Selecting Show Recovery Key writes an audit log entry under the KeyManagement activity, so treat that click as a recorded action rather than a casual check.
Tip for making this stick: turn the encryption-method comparison into an Intune proactive remediation detection script and run it on a schedule. It is a two-value read that catches the silent version of this failure, the one where the report says encrypted and the algorithm is quietly wrong. That is the check no compliance policy does for you.

One last honest caveat. Nothing on the device records the exact moment an Intune policy arrived relative to an ESP phase boundary. Every check in this article is evidence, not proof. A matching encryption method and a clean escrow trail is a very strong indicator that the ordering worked, and that is the most you can get from the device alone. Cross-check the tenant report before you declare a fleet clean.

References

Two community deep-dives are worth reading alongside the official documentation. Both were checked and are genuinely on this topic.

AuthorArticleWhy it is worth reading
Rudy Ooms (MVP)0x80072f8f: A BitLocker OdysseyA deep dive into one specific escrow failure, where TPM 2.0 firmware could not handle RSA-PSS during the TLS handshake to the device registration endpoint, so the recovery key backup failed and encryption never armed. Good field detail on how an escrow failure presents.
MSEndpointMgrSilently enable BitLocker for Hybrid Azure AD joined devices using Windows AutopilotCovers the hybrid-join gap with a Win32-app-delivered approach that creates the TPM and recovery password protectors and escrows to the device object, plus the ESP blocking configuration that makes the timing work.

The companion read-only script for this post is Get-AutopilotBitLockerReadiness.ps1. It reads only the documented locations listed above, never prints a recovery password or key identifier, prompts before installing anything, and exits with an explicit failure rather than a clean-looking empty result if a query it relies on cannot complete.

PowerShell — companion script

Download it from Imran76Awan/Windows-Autopilot-Scripts — no sign-in required. It is read-only: it reports and never changes a device or anything in Intune. Validate it in your own environment before relying on the output.

Get-AutopilotBitLockerReadiness.ps1 — Read-only report on whether a Windows device met the documented prerequisites for
View all scripts on GitHub
Was this post helpful?
React below — no account needed
Share this post
LinkedIn X / Twitter Reddit Bluesky

More from EndpointWeekly

Autopilot
Autopilot pre-provisioning: the reseal step is the part everyone…
The green success screen at the end of an Autopilot technician flow confirms enrollment,…
Autopilot
Enrollment Configuration Priority: Why Your Second ESP Profile…
Device configuration profiles merge. Device enrollment configurations do not. Exactly one…
Autopilot
Troubleshooting Autopilot from inside OOBE: Shift+F10, the…
A failed Autopilot device at OOBE has no desktop, no user session and no Event Viewer.…