HomeNewsletterCommunityToolsArchiveBlogAboutQuick Links Subscribe free
← Back to Blog
Autopilot Windows AutopilotIntuneTroubleshootingEnrollmentOOBETPMMDM

Windows Autopilot Enrollment Failures: A Structured Troubleshooting Guide

IA
Imran Awan
27 June 2026
Windows Autopilot Enrollment Failures: A Structured Troubleshooting Guide — EndpointWeekly
HomeNewsletterCommunityToolsArchiveBlogAboutQuick Links Subscribe free
← Back to Blog
Guides Autopilot Intune Troubleshooting

Windows Autopilot Enrollment Failures: A Structured Troubleshooting Guide

IA
Imran Awan
27 June 2026

Most Autopilot enrollment failures follow a predictable pattern. The device sits at OOBE, throws an error code, and the temptation is to rebuild. Before you do that — this guide walks through every layer systematically, from hardware through to log analysis, so you find the actual root cause rather than masking it with a rebuild.

Everything in this post is verified against Microsoft's official Autopilot documentation. Where error codes and log paths are referenced, they come directly from Microsoft's published troubleshooting guidance.

Scope: This guide covers User-Driven, Self-Deploying, and Pre-Provisioning (White Glove) Autopilot modes. Steps that apply only to specific modes are labelled.

Start here — collect device state before touching anything

Before stepping through the checklist, run two commands that give you the full picture of the device's current state. These are the commands Microsoft support will ask for first.

1. Hardware hash and Autopilot registration status — requires the Get-WindowsAutopilotInfo script published by Michael Niehaus (Microsoft) on the PowerShell Gallery:

Collect hardware hash
# Install the script from PowerShell Gallery (run as Administrator)
Install-Script -Name Get-WindowsAutopilotInfo -Force

# Export hardware hash to CSV
Get-WindowsAutopilotInfo -OutputFile "C:\AutopilotHash.csv"

2. Device join and MDM enrolment state — built-in Windows command, no installation required:

Device join status
# Run from command prompt or PowerShell — no elevation needed
dsregcmd /status

Key fields to check in the dsregcmd /status output:

FieldWhat you want to seeWhat a bad value means
AzureAdJoinedYESDevice has not completed Entra ID join — profile or network issue
MDMUrlhttps://enrollment.manage.microsoft.comEmpty or wrong URL — MDM authority not set or licence not assigned
TenantIdYour tenant GUIDWrong tenant — device hash imported to the wrong tenant
IsAutopilotEnrolled (if present)YESDevice not in Autopilot service — hash not imported or sync pending

1 Verify hardware requirements

Microsoft requires the following for all Autopilot scenarios. These are non-negotiable — if any are missing, the enrolment will fail regardless of profile or network configuration.

Verify TPM and Secure Boot
# TPM status
Get-Tpm

# Secure Boot status — returns True if enabled, False if disabled, error if Legacy BIOS
Confirm-SecureBootUEFI

# Check Autopilot registry key — populated after successful profile download
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Provisioning\AutoPilot"

2 Confirm device is in the Autopilot service

The device must be registered in your Autopilot tenant before it reaches OOBE. Registration happens via hardware hash import — either manually via CSV, automatically via OEM direct enrolment, or via Configuration Manager co-management.

Check in the Intune admin center: Devices → Enrolment → Windows → Windows Autopilot devices. Search by serial number or hardware hash. The device should appear with a profile status.

Sync delay: After importing a hardware hash, Microsoft recommends waiting at least 15 minutes before attempting enrolment. The Autopilot service sync is not immediate — profile assignment can take up to 30 minutes to propagate to the device.

If the device is not listed, import the hash. If it is listed but shows Not assigned for the profile, move to Step 3.

3 Verify deployment profile assignment

A device in the Autopilot service still needs a deployment profile assigned before it will receive the Autopilot OOBE experience. Profile assignment in Intune is group-based — the device or user must be a member of a group that the profile targets.

Microsoft-recommended dynamic group rule for Autopilot devices: (device.devicePhysicalIds -any _ -contains "[ZTDId]") — this targets all devices registered in your Autopilot tenant, regardless of group tag.

4 Validate network connectivity

Autopilot requires internet access from the moment OOBE begins. If the device cannot reach Microsoft endpoints, the profile download fails silently and the device falls through to a standard setup experience or throws a network error code.

The following endpoints must be reachable from the device at OOBE — verified against Microsoft's Autopilot networking requirements documentation:

EndpointPurpose
login.microsoftonline.comEntra ID authentication
login.live.comMicrosoft account sign-in (User-Driven)
enterpriseregistration.windows.netDevice registration
device.login.microsoftonline.comDevice authentication token
ztd.dds.microsoft.comAutopilot profile download
cs.dds.microsoft.comAutopilot profile download
aadcdn.msftauth.netAuthentication CDN
enrollment.manage.microsoft.comMDM enrolment endpoint
enterpriseenrollment.manage.microsoft.comMDM enrolment redirect
go.microsoft.comRedirect resolution during setup
SSL inspection warning: If your network proxy performs SSL/TLS inspection, Autopilot traffic to these endpoints must be bypassed. TLS inspection breaks the certificate chain validation used during device registration and is a common cause of silent profile download failures in corporate environments.

To test connectivity from the OOBE environment (Shift+F10 to open a command prompt at OOBE):

Test network from OOBE (Shift+F10)
# Test DNS resolution and connectivity to key Autopilot endpoints
ping login.microsoftonline.com
ping ztd.dds.microsoft.com
ping enrollment.manage.microsoft.com

# Check if a proxy is configured at system level
netsh winhttp show proxy

5 OOBE error codes

When Autopilot fails during OOBE, it surfaces a hex error code. The following are the most common codes and their confirmed meanings from Microsoft's OOBE troubleshooting documentation:

Error codeMeaningWhere to look
0x80180014 Device not found in Autopilot service Verify hardware hash is imported and the profile is assigned
0x8018002b Network / connectivity failure during profile download Check endpoint reachability, proxy bypass, and DNS
0x80180026 TPM attestation failure Check TPM 2.0 is present and enabled in BIOS; clear TPM if corrupted (back up BitLocker keys first)
0x801c03ee Device registration failed in Entra ID Check Entra ID device registration service, tenant join status, and licence assignment
0x800705b4 ESP timeout — apps or policies did not complete within the timeout window Increase ESP timeout, check app assignments, check Intune Management Extension logs
0x80070774 Session expired during OOBE Device sat idle too long — retry enrolment from the beginning
TPM clear warning: If clearing the TPM to resolve 0x80180026, ensure all BitLocker recovery keys are backed up to Entra ID or Active Directory first. Clearing the TPM destroys all TPM-protected secrets including BitLocker keys. This is irreversible.

6 Log file locations

When error codes alone are not enough, the log files provide the detail. These paths are verified against Microsoft's Autopilot troubleshooting documentation.

LogPathWhat to look for
Windows Setup (Panther) C:\$WINDOWS.~BT\Sources\Panther\setupact.log Early setup errors before Windows fully loads; hardware compatibility issues
Autopilot / Provisioning C:\ProgramData\Microsoft\Provisioning\Logs\ Autopilot profile download, CSP provisioning steps, MDM join events
Intune Management Extension C:\ProgramData\Microsoft\IntuneManagementExtension\Logs\ Win32 app installs, PowerShell script execution, ESP app tracking
MDM Diagnostics C:\Users\[user]\AppData\Local\Temp\mdmlogs-[date]\ or run mdmdiagnosticstool.exe -area Autopilot -cab C:\AutopilotDiag.cab Full MDM diagnostic export — the most complete single source

Event Viewer path for MDM / Autopilot events:

Applications and Services Logs → Microsoft → Windows → DeviceManagement-Enterprise-Diagnostics-Provider

Filter for Event IDs in the 1000–1999 range for MDM enrolment events, and 70000+ for Autopilot-specific events.

The fastest way to collect all Autopilot diagnostic data in one step:

MDM Diagnostics export
# Export full Autopilot diagnostics to a CAB file (run as Administrator)
mdmdiagnosticstool.exe -area Autopilot -cab "C:\AutopilotDiag.cab"

# Extract and review
Expand-Archive -Path "C:\AutopilotDiag.cab" -DestinationPath "C:\AutopilotDiag\"

Root cause summary

Root causeSymptomFix
Device not in Autopilot service0x80180014 at OOBEImport hardware hash; wait 15–30 min for sync
Profile not assignedStandard Windows setup experience — no Autopilot brandingCheck group membership and dynamic group rules
Network / proxy blocking0x8018002b or silent fallthrough to standard setupBypass SSL inspection; confirm all endpoints are reachable
TPM not enabled or attestation failure0x80180026 — fails at TPM attestation stepEnable TPM 2.0 in BIOS; consider TPM clear as last resort
MDM enrolment blocked0x801c03ee or device joins Entra but not IntuneCheck MDM authority setting, enrolment restrictions, licence assignment
ESP timeout0x800705b4 — stalls on app install or policy stageIncrease ESP timeout; check IME logs for the blocking app
Wrong tenantDevice appears in Autopilot but enrols to wrong tenantVerify TenantId in dsregcmd /status; re-import hash to correct tenant

Troubleshooting checklist

Before rebuilding: A rebuild does not fix a profile assignment issue, a network block, or a missing hardware hash. It only resets the device state — the same failure will happen again at the next OOBE. Work through the steps above first. The vast majority of Autopilot failures are resolved at Step 2 (not in service), Step 3 (profile not assigned), or Step 4 (network).
Share this post
LinkedIn X / Twitter Bluesky
Share this post
LinkedIn X / Twitter Reddit Bluesky

More from EndpointWeekly

Autopilot
Windows Autopilot: Complete Device Lifecycle Management Guide
Zero-touch provisioning from factory to fully managed desktop. Complete guide to…
Windows
Windows Hello for Business Provisioning Failure — Complete Fix
WHfB provisioning prompt never appears, or disappears silently? Event IDs 360, 362, and…
Intune
Intune Enrollment Error Codes: Complete Troubleshooting Guide
Intune enrollment failing with a hex error code? This complete reference covers every…