HomeNewsletterCommunityToolsArchiveBlogAboutQuick Links Subscribe free
← Back to Blog
Security Secure Boot Intune PowerShell UEFI

Secure Boot Certificate Update 2026: Fix Non-Compliant Devices with Intune Proactive Remediations

Your Intune Secure Boot Status Report shows thousands of devices on the wrong certificates. Here is what that means, why it matters, and how to remediate both failure states — including Lenovo devices with Secure Boot disabled — using four ready-to-deploy PowerShell scripts.

IA
Imran Awan
29 June 2026 · 10 min read

If you have opened the Intune Secure Boot Status Report recently, you may have seen numbers similar to the example below — 449 devices up to date, 3,052 not up to date, and 1,651 not applicable. Those last two columns represent real security gaps across your fleet — and both have a specific root cause and a specific fix.

Deadline: Microsoft's 2011 Secure Boot certificates expire starting June 2026. Devices still using them will lose the ability to receive future Secure Boot security protections. This is not hypothetical — the deadline is now.
Intune Secure Boot Status Report showing 449 up to date, 3052 not up to date, 1651 not applicable, 5152 total devices
📷 Save as blog/images/sb-status-report.png to display this screenshot
Intune admin centre → Reports → Windows Autopatch → Secure Boot Status — showing the full device breakdown with certificate status per device

What is Secure Boot? (Start here if you are new to this)

Imagine your PC as a secure building. Before anyone gets in, a security guard checks every ID at the door. Secure Boot is that security guard — but for your computer's startup process.

When you press the power button on a Windows device, a sequence of software loads before Windows itself even starts. First the UEFI firmware, then the bootloader, then the operating system kernel, then drivers. Any one of these components can be replaced by malware — a category of attack called a bootkit or rootkit — and if that happens, the malware runs before Windows, before your antivirus, before any of your security tools. It can hide from everything.

Secure Boot solves this by enforcing a chain of trust. Before each piece of startup software is allowed to run, UEFI checks its digital signature against a list of trusted certificates. If the signature is valid — trusted — it runs. If not, UEFI refuses to load it. This means a malicious bootloader simply cannot run on a Secure Boot–enabled device, because it will not have a valid signature from a trusted certificate authority.

The Windows boot chain
1
UEFI Firmware — Secure Boot checks the bootloader signature against the DB certificate store
2
Windows Boot Manager — Trusted Boot verifies the Windows kernel digital signature
3
Windows Kernel — ELAM loads the anti-malware driver before any third-party drivers
4
Drivers and Services — Measured Boot logs the entire process to TPM for remote health attestation

According to Microsoft Learn, "modern malware and bootkits specifically are capable of starting before Windows, completely bypassing OS security, and remaining hidden." Secure Boot is the foundational control that prevents this class of attack from working.

The certificate stores: DB, DBX, and KEK

Secure Boot relies on three certificate stores maintained in UEFI firmware:

The 2011 versions of the DB and KEK certificates are expiring. Once expired, Microsoft can no longer issue new revocations through those certificates — meaning newly discovered compromised boot components cannot be blocked on devices that are still using the old certificate chain. This is why the update matters.

The 2026 timeline

Date Event Impact
April 2026 DB certificate expiry phase begins Devices on old DB cannot receive new Secure Boot protections
June 2026 KB5094126 delivers automatic migration for eligible devices Consumer and unmanaged devices receive certificate update via Windows Update
Now Intune Secure Boot Status Report shows gap Managed devices require admin-initiated remediation
Oct 2028 Full certificate revocation Old certificates become fully invalid

As Microsoft stated in the KB5095093 June 23, 2026 Preview update: "Secure Boot certificates used by most Windows devices are set to expire starting in June 2026." Microsoft is rolling out the new certificates through Windows Update using "additional high confidence device targeting data, increasing coverage of devices eligible to automatically receive new Secure Boot certificates." For managed enterprise devices, that automatic path does not apply — you own the remediation.

Understanding the two failure states in your report

Not Up to Date (3,052)

Secure Boot is enabled on this device. However, it is still using the Microsoft UEFI CA 2011 certificates in its DB and KEK stores. The 2023 update has not been applied. The device boots securely today, but cannot receive new revocations or future Secure Boot protections from Microsoft.

Not Applicable (1,651)

Secure Boot is disabled in UEFI firmware on this device. Certificate updates are irrelevant until Secure Boot is turned on. Common on older hardware and on Lenovo devices where the BIOS default ships with Secure Boot off.

Each failure state has a completely different fix. The sections below cover both, with ready-to-deploy Intune Proactive Remediation scripts for each.

Fix 1 — "Not Up to Date": trigger the certificate update

For devices where Secure Boot is already enabled but the 2023 certificate has not been applied, Windows has a built-in mechanism to perform the update. It is triggered via a registry key and a scheduled task. Intune can set this trigger silently across your fleet.

Step 1: Check the Secure Boot Status Report

Navigate to the Secure Boot Status Report to export the list of affected devices:

Intune admin centre → Reports → Windows Autopatch → Secure Boot Status
Secure Boot Status Report filtered to show Not Up to Date devices with device name, OS version, Secure Boot enabled status, certificate status, device model and firmware version columns
📷 Save as blog/images/sb-status-report.png to display this screenshot
The report shows device name, OS version, Entra device ID, Secure Boot enabled (Yes/No), certificate status, device model, firmware manufacturer and firmware version — export this to CSV to build your remediation groups

Step 2: Enable the certificate update policy in Intune

Before deploying the remediation script, enable the Secure Boot certificate update setting via Settings Catalog. This is the policy-level permission that allows the update to occur:

  1. Go to Intune admin centre → Devices → Configuration → Create policy
  2. Platform: Windows 10 and later / Profile type: Settings catalog
  3. Search for Secure Boot in the settings picker
  4. Enable: Enable Secure Boot Certificate Updates
  5. Assign to your device group for "Not Up to Date" devices
Intune Devices Configuration page with Create menu open showing New Policy option
📷 Save as blog/images/intune-config-create.png
Intune admin centre → Devices → Configuration → Create → New Policy
Create a profile dialog showing Platform: Windows 10 and later and Profile type: Settings catalog selected
📷 Save as blog/images/create-profile-settings-catalog.png
Select Platform: Windows 10 and later · Profile type: Settings catalog — then click Create
Settings picker with secure boot typed in search showing Secure Boot and Windows Defender Security Center categories
📷 Save as blog/images/settings-picker-search.png
Click Add settings → search "secure boot" → select the Secure Boot category
Secure Boot settings category showing Enable Secureboot Certificate Updates, Configure Microsoft Update Managed Opt In, and Configure High Confidence Opt Out all toggled on
📷 Save as blog/images/secure-boot-3-settings.png
Enable all three Secure Boot settings — Enable Secureboot Certificate Updates is the mandatory one; the other two control how aggressively Windows Update applies the certificate rollout

This policy writes to HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\AvailableUpdatePolicy (value 5944). Both the Intune policy and Group Policy write to the same registry location — you only need one.

Step 3: Deploy the detection script

This script reads the UEFICA2023Status registry value and exits 0 (compliant) or 1 (non-compliant). Deploy it as the Detection script in an Intune Proactive Remediation.

# Detection: Check Secure Boot CA 2023 certificate update status
# Author: Imran Awan | endpointweekly.com
# Run as: System

$AvailableUpdatesValue = 0x5944

try {
    # Confirm Secure Boot is enabled
    try { $sbEnabled = Confirm-SecureBootUEFI -ErrorAction SilentlyContinue } catch { $sbEnabled = $false }
    if (-not $sbEnabled) {
        Write-Output "Non-Compliant: Secure Boot is disabled."
        Exit 1
    }

    # Read registry status values
    $servicingPath = "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing"
    $sbPath        = "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot"
    $status    = (Get-ItemProperty -Path $servicingPath -Name "UEFICA2023Status"  -ErrorAction SilentlyContinue).UEFICA2023Status
    $capable   = (Get-ItemProperty -Path $servicingPath -Name "WindowsUEFICA2023Capable" -ErrorAction SilentlyContinue).WindowsUEFICA2023Capable
    $available = (Get-ItemProperty -Path $sbPath        -Name "AvailableUpdates"        -ErrorAction SilentlyContinue).AvailableUpdates

    switch ($status) {
        "Updated"    { if ($capable -eq 2) { Write-Output "Compliant: Updated"; Exit 0 } else { Write-Output "Non-Compliant: Updated but Capable=$capable"; Exit 1 } }
        "InProgress" { Write-Output "Compliant: In progress"; Exit 0 }
        "NotStarted" { if (($available -band $AvailableUpdatesValue) -eq $AvailableUpdatesValue) { Write-Output "Compliant: Trigger set"; Exit 0 } else { Write-Output "Non-Compliant: Not started"; Exit 1 } }
        default      { Write-Output "Non-Compliant: Unknown status=$status"; Exit 1 }
    }
} catch {
    Write-Output "Non-Compliant: Error - $_"
    Exit 1
}

Step 4: Deploy the remediation script

When the detection script exits 1, Intune runs this remediation. It sets the AvailableUpdates registry trigger to 0x5944 and starts the \Microsoft\Windows\PI\Secure-Boot-Update scheduled task. A reboot is required to complete the update.

# Remediation: Trigger Secure Boot CA 2023 certificate update
# Author: Imran Awan | endpointweekly.com
# Run as: System

$AvailableUpdatesValue = 0x5944
$ScheduledTaskName     = "\Microsoft\Windows\PI\Secure-Boot-Update"

try {
    try { $sbEnabled = Confirm-SecureBootUEFI -ErrorAction SilentlyContinue } catch { $sbEnabled = $false }
    if (-not $sbEnabled) { Write-Output "Failed: Secure Boot is disabled."; Exit 1 }

    $servicingPath = "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing"
    $sbPath        = "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot"
    $status    = (Get-ItemProperty -Path $servicingPath -Name "UEFICA2023Status" -ErrorAction SilentlyContinue).UEFICA2023Status
    $available = (Get-ItemProperty -Path $sbPath        -Name "AvailableUpdates" -ErrorAction SilentlyContinue).AvailableUpdates

    if ($status -eq "NotStarted") {
        if (($available -band $AvailableUpdatesValue) -ne $AvailableUpdatesValue) {
            Set-ItemProperty -Path $sbPath -Name "AvailableUpdates" -Value $AvailableUpdatesValue -Type DWord
        }
        Start-ScheduledTask -TaskName $ScheduledTaskName
        Write-Output "Remediated: Trigger set and task started. Reboot required."
        Exit 0
    } elseif ($status -in "Updated", "InProgress") {
        Write-Output "Remediated: No action needed (status=$status)"; Exit 0
    } else {
        Write-Output "Failed: Unknown status=$status"; Exit 1
    }
} catch {
    Write-Output "Failed: $_"; Exit 1
}

Step 5: Create the Intune Proactive Remediation

  1. Go to Intune admin centre → Devices → Scripts and remediations → Create
  2. Name: Secure Boot CA 2023 Certificate Update
  3. Upload the detection script to Detection script
  4. Upload the remediation script to Remediation script
  5. Run as: System (64-bit PowerShell)
  6. Schedule: daily until compliant
  7. Assign to: device group containing your "Not Up to Date" devices
Intune Scripts and remediations page with Create button highlighted in red
📷 Save as blog/images/remediation-main-page.png
Intune admin centre → Devices → Scripts and remediations → Remediations tab → + Create
Create custom script Basics tab with Name field showing SecureBoot Monitoring
📷 Save as blog/images/remediation-create-basics.png
Basics tab — give the package a clear name (e.g. Secure Boot CA 2023 Certificate Update) and proceed to Settings
Create custom script Settings tab showing detection script file uploaded, script preview, and Run this script using logged-on credentials set to No, Run script in 64-bit PowerShell set to No
📷 Save as blog/images/remediation-settings-tab.png
Settings tab — upload the detection script, upload the remediation script, keep "Run using logged-on credentials" = No (runs as System), set 64-bit PowerShell = Yes
Important: Some devices need more than one reboot to be fully compliant. The detection script may return compliant while Event Viewer still logs firmware errors. Monitor the Secure Boot Status Report over several days after deployment and allow time for reboots. As Jonathan Lefebvre at System Center Dudes notes: "Compliance scripts may return compliant status while firmware errors persist in Event Viewer."

Alternative: Group Policy

If you use GPO instead of or alongside Intune, the same update can be enabled via ADMX:

  1. Download the latest ADMX templates for Windows 11 25H2 from Microsoft and update your Central Store
  2. Open Group Policy Management → Computer Configuration → Administrative Templates → Windows Components → Secure Boot
  3. Enable: Enable Secure Boot Certificate Deployment

Both methods write to the same registry path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot with AvailableUpdatePolicy set to 5944.

Fix 2 — "Not Applicable": enable Secure Boot on Lenovo devices

"Not Applicable" means Secure Boot is off in UEFI firmware. Certificate updates are impossible until Secure Boot is enabled. These devices are completely unprotected at boot time — no chain of trust, no signature verification, and no ability to receive any Secure Boot protections from Microsoft.

On Lenovo hardware, the BIOS can be configured remotely via WMI without requiring a technician to physically access each device. Lenovo exposes a WMI namespace (root\WMI) with classes including Lenovo_BiosSetting, Lenovo_SetBiosSetting, and Lenovo_SaveBiosSettings. This is the mechanism the remediation script uses.

BitLocker note: The remediation script automatically suspends BitLocker for one reboot cycle before making any BIOS change. This is intentional — without suspending BitLocker first, enabling Secure Boot can trigger a BitLocker recovery prompt because the TPM PCR values change. BitLocker re-enables automatically after the reboot.

Detection script — Lenovo Secure Boot status

# Detection: Secure Boot enabled check (Lenovo WMI)
# Exit 0 = Compliant (Secure Boot enabled)
# Exit 1 = Non-Compliant (Secure Boot disabled or not found)

try {
    $SecureBoot = Get-WmiObject -Class Lenovo_BiosSetting -Namespace root\WMI -ErrorAction Stop |
                  Where-Object { $_.CurrentSetting -match "SecureBoot" } |
                  Select-Object -ExpandProperty CurrentSetting

    if ($SecureBoot -eq "SecureBoot,Enable") {
        Write-Host "Compliant: SecureBoot is enabled."; exit 0
    } else {
        Write-Host "Not Compliant: SecureBoot is disabled or unknown: $SecureBoot"; exit 1
    }
} catch {
    Write-Host "Error querying Lenovo BIOS WMI: $_"; exit 1
}

Remediation script — enable Secure Boot via Lenovo WMI

Required before deployment: Replace Password_1 and Password_2 in the script with your actual BIOS supervisor passwords. If you only use one password, set both to the same value. Do not deploy with placeholder values.
# Remediation: Enable Secure Boot via Lenovo WMI BIOS interface
# Author: Imran Awan | endpointweekly.com
# ⚠ Replace Password_1 and Password_2 with your BIOS supervisor passwords

$LogDir = "C:\Windows\Logs\Temp\scripts"
if (-not (Test-Path $LogDir)) { New-Item -ItemType Directory -Path $LogDir -Force | Out-Null }
Start-Transcript -Path "$LogDir\SecureBootRemediation.log" -Append -Force

try {
    # Suspend BitLocker for 1 reboot before touching BIOS
    $BLStatus = Get-BitLockerVolume -MountPoint "C:" -ErrorAction Stop
    if ($BLStatus.ProtectionStatus -eq "On") { Suspend-BitLocker -MountPoint "C:" -RebootCount 1 }

    # BIOS password configuration
    # Replace Password_1 (old/current) and Password_2 (new/rotated) with real values
    $Encoding = ",ascii,us"
    $OldPass1 = "," + "Password_1" + $Encoding
    $OldPass2 = "Password_1" + $Encoding
    $NewPass1 = "," + "Password_2" + $Encoding
    $NewPass2 = "Password_2" + $Encoding

    # Test which password is accepted
    $OldTest = (Get-WmiObject -Class Lenovo_SaveBiosSettings -Namespace root\wmi).SaveBiosSettings($OldPass2).return
    if ($OldTest -eq "Success") { $Pass1 = $OldPass1; $Pass2 = $OldPass2 }
    else {
        $NewTest = (Get-WmiObject -Class Lenovo_SaveBiosSettings -Namespace root\wmi).SaveBiosSettings($NewPass2).return
        if ($NewTest -eq "Success") { $Pass1 = $NewPass1; $Pass2 = $NewPass2 }
        else { Write-Host "ERROR: Neither BIOS password accepted."; Stop-Transcript; exit 1 }
    }

    # Enable Secure Boot and save
    (Get-WmiObject -Class Lenovo_SetBiosSetting  -Namespace root\wmi).SetBiosSetting("SecureBoot,Enable$Pass1") | Out-Null
    $SaveResult = (Get-WmiObject -Class Lenovo_SaveBiosSettings -Namespace root\wmi).SaveBiosSettings($Pass2).return
    if ($SaveResult -ne "Success") { Write-Host "FAILED: $SaveResult"; Stop-Transcript; exit 1 }

    Write-Host "SUCCESS: Secure Boot enabled. Reboot required."
    Stop-Transcript; exit 0
} catch {
    Write-Host "Error: $_"; Stop-Transcript; exit 1
}

Intune deployment for Lenovo remediation

  1. Go to Intune admin centre → Devices → Scripts and remediations → Create
  2. Name: Lenovo — Enable Secure Boot
  3. Upload detection script and remediation script
  4. Run as: System (64-bit)
  5. Assign to: a device group filtered by Device manufacturer = Lenovo (use a filter in the assignment to avoid running this on Dell/HP)
Intune admin centre → Devices → Filters → + Create filter
Rule: (device.deviceManufacturer -eq "LENOVO")
Platform: Windows 10 and later

Monitoring — registry and Event Viewer

After deployment, verify progress by checking these registry values on target devices:

# Certificate update status
HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing\UEFICA2023Status
# Values: NotStarted | InProgress | Updated

# Device capability flag
HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing\WindowsUEFICA2023Capable
# Value 2 = capable and updated

# Update trigger
HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\AvailableUpdates
# Value 0x5944 = trigger set
Registry Editor showing HKLM\SYSTEM\CurrentControlSet\Control\SecureBoot with AvailableUpdates and AvailableUpdatesPolicy DWORD values set
📷 Save as blog/images/registry-secureboot-trigger.png
HKLM\SYSTEM\CurrentControlSet\Control\SecureBoot — AvailableUpdatesPolicy set to 0x00005944 (22852) confirms the Intune policy has applied and the update trigger is active
Registry Editor showing HKLM\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing with UEFICA2023Status set to InProgress
📷 Save as blog/images/registry-servicing-inprogress.png
SecureBoot\Servicing — UEFICA2023Status = InProgress means the scheduled task has fired and the certificate update is underway. A reboot is required to complete it.
Registry Editor showing HKLM\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing with UEFICA2023Status set to Updated and WindowsUEFICA2023Capable set to 2
📷 Save as blog/images/registry-servicing-updated.png
UEFICA2023Status = Updated and WindowsUEFICA2023Capable = 2 — this is the fully compliant state. The detection script will now exit 0 and Intune marks the device compliant.

For Event Viewer monitoring, navigate to Windows Logs → System and filter by source TPM or TPM-WMI. These sources report firmware-level issues that may block the certificate update even after the registry trigger is set. If your device manufacturer's firmware is outdated, the certificate update may fail at this layer — a BIOS/UEFI firmware update from the manufacturer is required first.

Event Viewer System log showing TPM-WMI Error Event 1802: The Secure Boot update 3P UEFI CA 2023 DB was blocked due to a known firmware issue on the device
📷 Save as blog/images/eventviewer-tpm-error-1802.png
Event 1802, TPM-WMI — "The Secure Boot update 3P UEFI CA 2023 (DB) was blocked due to a known firmware issue on the device." This means the device needs a BIOS/UEFI firmware update from the manufacturer before the certificate can be applied. The ConfidenceLevel "Under Observation — More Data Needed" tells you Microsoft's rollout system is still gathering telemetry on this device model.
Event Viewer System log filtered by TPM and TPM-WMI showing Event 1799: Boot Manager signed with Windows UEFI CA 2023 was installed successfully
📷 Save as blog/images/eventviewer-tpm-success-1799.png
Event 1799, TPM-WMI — "Boot Manager signed with Windows UEFI CA 2023 was installed successfully." This confirms the certificate update completed. Cross-reference with the registry showing UEFICA2023Status = Updated to confirm the device is fully compliant.

What about non-Lenovo devices with Secure Boot disabled?

For Dell and HP devices with Secure Boot disabled, the manufacturer-specific WMI interfaces differ. Dell uses the Dell Command | PowerShell Provider and HP uses the HP BIOS Configuration Utility (BCU). The approach is the same — query the BIOS setting via WMI or the vendor tool, change it, and save with the BIOS password — but the class names and syntax differ. Contact your Dell or HP account team for the specific WMI classes or BCU command syntax for your device models.

What the community is saying

Jonathan Lefebvre — System Center Dudes

"Devices that don't receive the Secure Boot certificate before June will boot and function normally from the end-user perspective. However, they become security-degraded since boot-level protection won't function as intended." — Full guide on System Center Dudes

Karl Wester-Ebbinghaus

Karl published the Windows Server 2025 Security Baseline v2606 which includes updated Secure Boot recommendations — a useful companion resource if you are also managing Windows Server alongside your endpoints.

Adam Macintosh

Adam flagged that KB5094126 delivered Secure Boot certificate migration alongside the Patch Tuesday update — and that some environments saw BitLocker loops as a side effect when the update combined with an unprepared firmware state. Always suspend BitLocker before triggering the certificate update manually.

Key things to remember

Official Microsoft references

All four scripts — detection and remediation for both failure states — are available on GitHub alongside a full README covering registry paths, deployment steps, and the BIOS password configuration required for the Lenovo remediation.

🔗 View on GitHub — Imran76Awan/Daily-Tasks/Secure-Boot-Certificate-Update-2026

Share this post
LinkedIn X / Twitter Reddit Bluesky

More from EndpointWeekly

Security
Autopatch Is Alerting on Expiring Secure Boot Certificates — Here's What to Do
What the Autopatch alert means and which devices are flagged.
Security
Windows 11 June 2026 Security Alert: Secure Boot Certificate and BitLocker
KB5094126 delivers automatic certificate migration — what it means for your fleet.
Security
The Windows 11 25H2 Security Baseline Is in Intune — Here Is What Changed
Updated Secure Boot, Credential Guard, and WDAC settings explained.