Autopilot / Intune ยท Modern Endpoint Guides
๐Ÿš€ Windows Autopilot

Windows Autopilot with Intune

Zero-touch Windows device provisioning โ€” from out-of-box experience to fully configured corporate device, without IT touching the hardware. Covers all 4 deployment modes, ESP configuration, and hybrid join.

๐Ÿ“… Updated: May 2026 โฑ๏ธ Setup time: 2โ€“4 hours ๐ŸŽฏ Audience: Intune Admins, Desktop Engineers ๐Ÿ“‹ License: Intune P1 + Entra ID P1

๐Ÿ“‹ Overview & Requirements

Windows Autopilot uses cloud-based provisioning to configure new or reset Windows devices. The device is registered in the Autopilot service before it reaches the user โ€” when powered on, it joins Entra ID and enrolls in Intune automatically.

โœ… Prerequisites

  • Windows 10 1903+ or Windows 11
  • Entra ID (Azure AD) with P1 license
  • Microsoft Intune license
  • Device hardware hash registered in Intune
  • Internet connectivity during OOBE
  • DNS resolution for Microsoft endpoints

๐ŸŒ Required Network Endpoints

  • *.microsoft.com / *.microsoftonline.com
  • *.windows.net / *.manage.microsoft.com
  • *.windowsupdate.com (Windows Update)
  • devicedirectory.azure.com (device registration)
  • enterpriseregistration.windows.net
Proxy / firewall must allow these endpoints BEFORE the device joins the domain or receives any GPO.
ModeJoin TypeUse CaseInternet Required
User-Driven (Entra Join)Entra ID JoinCloud-only organizationsYes (OOBE)
Hybrid Entra JoinOn-prem AD + Entra IDHybrid/on-prem environmentsYes + VPN/LoS
Self-DeployingEntra ID (no user)Kiosks, shared devicesYes (TPM required)
Pre-ProvisioningEntra ID / HybridTechnician prep + user receiveYes (both phases)

๐Ÿ“ Device Registration

๐Ÿ”‘ Hardware Hash Collection

1

Method 1: OEM Direct (Recommended)

Purchase devices from an Autopilot-capable OEM (Dell, HP, Lenovo, Microsoft). OEM uploads hardware hash to Windows Autopilot via PKID.

2

Method 2: PowerShell Script

Run Get-WindowsAutoPilotInfo.ps1 on the device to export the hardware hash CSV and upload to Intune.

3

Method 3: Microsoft 365 admin center

Upload CSV directly via Intune admin center โ†’ Devices โ†’ Windows โ†’ Enrollment โ†’ Windows Autopilot โ†’ Import.

๐Ÿ’ป PowerShell Hash Collection

# Install and run on target device
Install-Script -Name Get-WindowsAutoPilotInfo

# Export hash to CSV
Get-WindowsAutoPilotInfo -OutputFile "C:\autopilot.csv"

# Upload directly to Intune tenant
Get-WindowsAutoPilotInfo `
  -Online `
  -TenantId "your-tenant-id"

# Bulk collect from multiple devices via network
Get-WindowsAutoPilotInfo `
  -ComputerName PC01, PC02, PC03 `
  -OutputFile "C:\bulk_hashes.csv"
After uploading the hardware hash, device sync may take up to 15 minutes. The device must be connected to the internet during OOBE so it can check the Autopilot service for its profile.

โณ Enrollment Status Page (ESP)

๐Ÿ“Š What ESP Does

  • Shows progress during OOBE and device setup
  • Blocks user access until critical apps/policies apply
  • Two phases: Device Setup and Account Setup
  • Tracks: security policies, certificates, apps, scripts
  • Blocks desktop until all tracked items complete

โš™๏ธ ESP Configuration Tips

  • Error timeout: Set to 60โ€“120 minutes (default 60)
  • Allow users to reset: Enable for pilot; disable for production
  • Block device use until installed: Enable for critical security apps
  • Only track apps that are Required and assigned to the device
  • Avoid tracking large apps (1GB+) โ€” they slow first login significantly

๐Ÿ”„ ESP Phases Explained

Device Preparation
โ†’
Device Setup (MDM enrollment, policies, apps)
โ†’
Account Setup (user policies, apps)
โ†’
Desktop

๐Ÿ‘ค User-Driven Mode (Entra Join)

โ˜๏ธ Cloud-Native User-Driven

  • Device joins Entra ID directly (no on-prem AD)
  • User authenticates during OOBE with corporate credentials
  • Intune enrollment happens automatically after join
  • Ideal for fully cloud-native organizations
  • No VPN or line-of-sight to DC required
  • Supports Hello for Business at first sign-in

๐Ÿ”„ Enrollment Flow

1. Device powers on โ†’ detects Autopilot profile
2. OOBE โ†’ user enters corporate email
3. Entra ID join + Intune auto-enrollment
4. ESP: policies, certs, apps installed
5. User reaches desktop

๐Ÿข Hybrid Entra Join

Hybrid Entra Join requires a Domain Controller in line-of-sight during enrollment (or an established VPN). An on-premises Intune Connector for Active Directory must be installed.

๐Ÿ”ง Additional Requirements

  • On-prem AD domain with Hybrid Entra ID configured
  • Intune Connector for AD installed on domain member server
  • Connector server can reach both Intune and AD
  • Device must reach DC during OOBE (VPN or on-site)
  • Computer account created automatically in AD via connector

๐Ÿ“‹ Hybrid Enrollment Flow

1. Device OOBE โ†’ user auth with Entra ID
2. Intune connector creates AD computer account
3. Device joins on-prem AD domain
4. Entra ID hybrid join via Azure AD Connect
5. Intune enrollment + ESP

โš™๏ธ Self-Deploying Mode

๐Ÿ–ฅ๏ธ Use Cases

  • Kiosk devices (single-app or multi-app)
  • Shared workstations (no dedicated user)
  • Meeting room devices
  • Point-of-sale terminals
  • Digital signage

๐Ÿ” Requirements

  • TPM 2.0 required (device attestation replaces user auth)
  • Wi-Fi or Ethernet at OOBE (no user to enter credentials)
  • ESP blocks device until fully configured
  • No user account assigned during OOBE
  • Autopilot profile: Device type = "Self-deploying"

๐Ÿญ Pre-Provisioning (White Glove)

๐Ÿญ Technician Phase

1

Technician powers on device

Press Windows key 5 times at OOBE to enter Pre-Provisioning mode.

2

Device Setup phase runs

ESP Device Setup phase installs all device-targeted apps, certs, and policies.

3

Reseal

Technician clicks "Reseal" โ€” device is shut down and sealed for shipping.

๐Ÿ‘ค User Phase

4

User powers on device

Device already has all device-level apps/policies. Only user phase runs.

5

User authenticates

User signs in with Entra ID credentials. Account Setup phase installs user-targeted apps.

6

Desktop ready

Much faster than standard Autopilot โ€” device is already mostly configured.

Pre-Provisioning (White Glove) dramatically reduces first-login time for end users since all device-targeted content is pre-installed before the user receives the device.

๐ŸŽ›๏ธ Autopilot Profiles

๐Ÿ“‹ Key Profile Settings

  • Deployment mode: User-Driven / Self-Deploying
  • Join to Azure AD as: Entra joined / Hybrid Entra joined
  • EULA: Hide (recommended for corporate)
  • Privacy settings: Hide
  • Account change options: Hide
  • User account type: Standard (not Administrator)

๐Ÿท๏ธ Profile Assignment

  • Assign profile to Autopilot device group
  • Dynamic group using device.devicePhysicalIds any _ -eq "[ZTDId]"
  • Or assign to static group of uploaded devices
  • Profile priority matters if multiple profiles exist
  • Profile must be assigned BEFORE device first boot

๐Ÿ”€ Dynamic Groups for Autopilot

# Dynamic group rule: All Autopilot-registered devices
(device.devicePhysicalIds -any _ -contains "[ZTDId]")

# Dynamic group rule: Autopilot devices with specific OrderID (group tag)
(device.devicePhysicalIds -any _ -eq "[OrderID]:Finance-2026")

# Dynamic group rule: Specific model
(device.devicePhysicalIds -any _ -eq "[ZTDID]") and
(device.deviceModel -eq "Surface Laptop 5")

# PowerShell: Add group tag to Autopilot device
$deviceId = "autopilot-device-id"
Update-MgDeviceManagementWindowsAutopilotDeviceIdentity `
  -WindowsAutopilotDeviceIdentityId $deviceId `
  -GroupTag "Finance-2026"

๐Ÿ“Š Reports & Monitoring

๐Ÿ“‹ Autopilot Deployments

  • Intune โ†’ Devices โ†’ Monitor โ†’ Autopilot deployments
  • Success / Failure per device
  • Time to complete each phase
  • Error codes for failed deployments

๐Ÿ“ฑ Device Registration

  • Intune โ†’ Devices โ†’ Windows โ†’ Enrollment โ†’ Devices
  • List of all registered Autopilot devices
  • Profile assignment status
  • Group tag / order ID

โณ ESP Status

  • Enrollment Status Page report
  • Per-app installation progress
  • Policy application status
  • Failure reason detail

๐Ÿ”ง Troubleshooting

โŒ Common Issues & Fixes

IssueLikely CauseResolution
Device not getting Autopilot profileHardware hash not synced or group assignment missingForce sync in Intune; verify dynamic group membership
ESP stuck at "Identifying"Network connectivity issue, missing endpointsCheck firewall/proxy for required URLs
Hybrid join failsConnector not running, DC unreachableCheck Intune Connector service; ensure DC reachable during OOBE
App installation fails in ESPApp not assigned as Required to device/userReassign app as Required to Autopilot device group
ESP timeoutLarge app slowing provisioningIncrease timeout; exclude non-critical apps from ESP tracking
"Something went wrong" error 0x800705b4Duplicate device hash or stale enrollmentDelete device from Autopilot, re-upload hash, retry

๐Ÿ’ป PowerShell & Graph API

# Get all Autopilot devices
Connect-MgGraph -Scopes "DeviceManagementServiceConfig.Read.All"
Get-MgDeviceManagementWindowsAutopilotDeviceIdentity |
  Select-Object SerialNumber, Model, GroupTag, EnrollmentState

# Get Autopilot deployment report
GET https://graph.microsoft.com/beta/deviceManagement/autopilotEvents

# Assign group tag to multiple devices from CSV
$devices = Import-Csv "C:\devices.csv"  # Columns: SerialNumber, GroupTag
foreach ($device in $devices) {
    $autopilotDevice = Get-MgDeviceManagementWindowsAutopilotDeviceIdentity |
        Where-Object { $_.SerialNumber -eq $device.SerialNumber }
    if ($autopilotDevice) {
        Update-MgDeviceManagementWindowsAutopilotDeviceIdentity `
            -WindowsAutopilotDeviceIdentityId $autopilotDevice.Id `
            -GroupTag $device.GroupTag
    }
}

# Delete Autopilot device registration (for re-registration)
Remove-MgDeviceManagementWindowsAutopilotDeviceIdentity `
    -WindowsAutopilotDeviceIdentityId "device-guid-here"

โœ… Implementation Checklist

๐Ÿ—๏ธ Prerequisites

  • Entra ID configured (P1 license)
  • Intune license assigned to users
  • MDM auto-enrollment configured in Entra ID
  • Required network endpoints whitelisted
  • OEM or manual hardware hash collection ready

๐Ÿš€ Autopilot Setup

  • Hardware hashes uploaded to Intune
  • Autopilot profile created for each mode
  • Dynamic device groups created with ZTDId rule
  • Profile assigned to device groups
  • ESP configured with appropriate timeout

๐Ÿ“ฆ Apps & Policies

  • Critical apps assigned as Required to Autopilot group
  • Security baseline assigned to device group
  • Certificates (Root, SCEP) assigned to device group
  • Wi-Fi and VPN profiles assigned
  • Compliance policy assigned

๐Ÿงช Testing & Rollout

  • Pilot with 2โ€“3 test devices completed
  • End-to-end OOBE flow verified
  • ESP completion time measured and acceptable
  • Helpdesk trained on Autopilot reset procedure
  • OEM ordering process updated to include Autopilot registration