Skip to main content
Autopilot & Enrollmentdecimal -2145647638

Fix Intune Error 0x801C03EA: TPM attestation failed, so the device could not get a device token and failed to join Microsoft Entra ID.

Open the log below first. It is the quickest way to confirm which of the causes applies before you change anything.

Microsoft-Windows-User Device Registration%4Admin.evtx

Folder: C:\Windows\System32\winevt\Logs\

Also check: Microsoft-Windows-ModernDeployment-Diagnostics-Provider%4Autopilot.evtx

Root causes

  • The endorsement key (EK) certificate cannot be retrieved or validated, often because the TPM vendor URL that serves it is blocked.
  • The TPM is virtual, disabled, in a failed state or a version that does not support attestation.
  • Firmware with a known attestation bug, for example Intel firmware TPM on Tiger Lake needing the November 2021 cumulative update or later.
  • Proxy or TLS inspection breaks the attestation request.

Step-by-step remediation

  1. On the device run Get-Tpm, then Get-TpmEndorsementKeyInfo -HashAlgorithm sha256 and confirm an EK certificate is present.
  2. Check the User Device Registration Admin log for the exact attestation failure that precedes the error.
  3. Open the TPM vendor attestation and certificate URLs to the device, bypassing TLS inspection and authentication on the proxy.
  4. Install the latest OEM BIOS, TPM firmware and Windows cumulative update.
  5. If the TPM is in a failed state, clear it from firmware setup. Back up the BitLocker recovery key first, because clearing destroys TPM-held keys.
  6. Delete the device record in Intune and Entra ID, then reset and retry.

For the full diagnosis around this error, read Windows Autopilot Enrollment Status Page Stuck at 0% — Causes and Fixes.

Tighten the rollout around it

Enrollment and compliance errors usually trace back to rollout design and device permissions. See how the endpoint privilege management tools compare, and plan the next ring with a tested runbook.

Compare Intune endpoint privilege management tools

Other Autopilot & Enrollment errors with their own runbooks.

Search all 21 error codes