Provisioning with Windows Autopilot
Windows Autopilot is a provisioning mechanism, not a join type. It sits on top of the join decisions made in Entra Join (The Cloud-Only Path) and Hybrid Deployment (The Transition Path), replacing the manual imaging and deployment workflows that precede enrollment. A device ships from an OEM directly to an end user, and Autopilot configures it automatically—without IT ever touching it.
| What Autopilot Is | What Autopilot Is Not |
|---|---|
| A cloud-based OOBE configuration workflow | A device join type (that is Entra Join or Hybrid Join) |
| A replacement for imaging/re-imaging | A replacement for Intune policy management |
| A way to assign profiles and skip OOBE steps | Available without Intune licensing |
Autopilot with Entra Join is the primary, recommended path. Autopilot with Hybrid Join is supported but requires additional on-prem infrastructure (the Intune Connector for Active Directory) and line-of-sight to a Domain Controller during provisioning.
Business Value & Capability Ranking
The capabilities below are listed in order of operational impact. Most deployments realize the top three immediately; the remaining are additive.
1. Zero-Touch Provisioning
The highest-value capability. A device ships from an OEM directly to an end user — IT never touches it. The user powers it on, signs in with their Entra ID credentials, and the device self-configures: it joins Entra, enrolls in Intune, applies all security baselines, installs required applications, and presents the desktop to the user. The entire workflow replaces the traditional imaging station, staging desk, and device hand-off.
Operational impact: Eliminates per-device IT labor for new hardware deployment. For organizations shipping 10+ devices per quarter, the labor savings are substantial. For geographically distributed teams, it removes the requirement for users to be on-site or for hardware to route through IT before reaching the field.
2. Automatic Corporate Device Designation
Devices registered in Autopilot are automatically flagged as Corporate-owned in Intune at the moment the hardware hash is registered — before the device is ever turned on. This distinction matters because enrollment restrictions can (and should) block personally-owned device enrollment from MDM management entirely.
Without Autopilot registration, a device a user manually enrolls enters Intune as Personal by default. IT must then manually change the ownership designation — an operational gap that breaks enrollment restriction enforcement. With Autopilot, ownership is established at registration time and never ambiguous.
This is also the mechanism for the Ownership field visible in 10-1: Modern Endpoint Operations device status — devices that read "Corporate" without having been manually corrected are Autopilot-registered.
3. Guaranteed Security Baseline on First Boot
The Enrollment Status Page (ESP) blocks the user from reaching the desktop until all required applications and device configuration policies have been applied. A user cannot begin working on a device that is in a partial-policy state. For compliance environments where device compliance gates resource access via Conditional Access, this prevents the edge case of a freshly enrolled device that passes compliance checks before its security policies have landed.
4. Group Tag Routing — Right Profile Without Manual Group Management
Group Tags applied at hardware hash registration automatically route a device into the correct Entra dynamic group — which carries the correct Autopilot deployment profile, device naming convention, and initial app assignments. For organizations with multiple departments, locations, or security tiers, this eliminates manual group assignment after device registration and the human error that comes with it.
5. Autopilot Reset for Device Re-Assignment
When a device transfers from one user to another, Autopilot Reset wipes user data and re-applies all device-phase policies without removing the device from Intune or Autopilot registration. This is substantially faster than a full wipe-and-re-enroll cycle and preserves the device's corporate designation and Autopilot record. See Device Lifecycle & Onboarding for the re-assignment procedure.
6. Self-Deploying Mode for Shared / Kiosk Devices (Commercial only)
Devices with no dedicated user — shared workstations, kiosks, AVD session host pre-staging — can enroll and configure themselves with zero user interaction. Authentication is handled by the device's TPM presenting a device certificate to Entra. No user account is required at setup time.
7. Pre-Provisioning (White Glove) for Large App Payloads (Commercial only)
IT or a reseller pre-stages the device phase (installs heavy applications, applies certificates) before shipping. The end user sees only the shorter user-phase of the ESP. Reduces first-boot wait time for devices with large or slow-installing application sets.
Classic Autopilot (v1) vs. Autopilot Device Preparation (v2)
Two generations of Autopilot exist. Which generation you use is determined by your cloud environment.
| Classic Autopilot (v1) | Device Preparation (v2) | |
|---|---|---|
| Commercial | ? All modes | ? User-Driven only |
| GCC High | ? Not supported | ? User-Driven only |
| Deployment Modes | User-Driven, Self-Deploying, Pre-Provisioning | User-Driven only |
| Hybrid Join | ? User-Driven only | ? Not supported |
| Hash Registration | CSV import or OEM direct | CSV import, OEM direct, or Graph API |
| Enrollment Status Page | ? Full (device + user phase) | ? Full (device + user phase) |
- GCC High
- Commercial
GCC High tenants must use Autopilot Device Preparation (v2). The setup workflow is different from Classic Autopilot — see the GCC High tab in the Implementation Guide below. Self-Deploying and Pre-Provisioning modes are not available in GCC High.
No corresponding requirement for Commercial tenants.
Deployment Modes
User-Driven Mode
The end user powers on the device, signs in with their Entra ID credentials, and Autopilot completes the rest—applying the Autopilot profile, enrolling in Intune, and running the Enrollment Status Page (ESP) before handing off the desktop. This is the standard mode for 1:1 knowledge worker devices.
Works with: Entra Join and Hybrid Join | Available in: Commercial (v1 and v2), GCC High (v2)
Self-Deploying Mode
The device enrolls and configures itself with no user interaction. Authentication is handled by the device's TPM chip presenting a device certificate to Entra ID. There is no user sign-in prompt during setup. Used for shared devices, kiosks, and AVD session hosts that should be pre-configured before any user touches them.
Works with: Entra Join only | Available in: Commercial only (Classic Autopilot v1)
Self-Deploying mode requires TPM 2.0 with device attestation support. Virtual machines require a virtual TPM explicitly enabled. Devices without a qualifying TPM will fail at the attestation step with error 0x800705B4.
Pre-Provisioning (White Glove)
IT or a reseller pre-stages the device phase (applies OEM apps, baseline policies) before shipping to the end user. The user then completes a shorter OOBE that only runs the user-phase of the ESP. Reduces end-user wait time for large software deployments.
Works with: Entra Join and Hybrid Join | Available in: Commercial only (Classic Autopilot v1)
In Classic Autopilot v1, Pre-Provisioning is initiated at the OOBE language screen by pressing Windows key 5 times. The device enters Technician Flow, completes the device phase of the ESP (apps, certs, policies), then seals. When the end user powers it on, they only see the shorter user phase.
Autopilot with Entra Join — The Primary Path
This is the recommended combination. No on-prem infrastructure is required beyond DNS records (Phase 1: DNS Discovery Records). The device contacts Entra ID and Intune directly over the internet during OOBE.
Flow:
Device powers on ? OOBE starts ? Device queries Windows Autopilot Deployment Service
? Deployment Service returns Autopilot profile
? OOBE skips/shows steps per profile
? User signs in with Entra credentials (User-Driven) or TPM attests (Self-Deploying)
? Device Entra Joins
? Intune enrollment triggers automatically
? ESP runs (installs required apps, applies policies)
? Desktop presented to user
Autopilot with Hybrid Join — Supported, Higher Overhead
Hybrid Join via Autopilot requires the Intune Connector for Active Directory installed on an on-prem Windows Server with line-of-sight to a Domain Controller. The connector brokers the domain join on behalf of the device during OOBE.
Additional requirements vs. Entra Join:
- Windows Server 2016+ joined to your domain, with internet access
- Intune Connector for Active Directory installed and enrolled
- Device must be able to reach a Domain Controller during the Autopilot OOBE (typically requires on-site provisioning or a VPN-capable pre-boot environment)
- Only User-Driven mode is supported (no Self-Deploying for Hybrid)
When Hybrid Autopilot Makes Sense
Hybrid Autopilot is useful in one specific scenario: issuing new hardware to users who still require on-prem AD resources. The device ships to the user, Autopilot handles the Hybrid Join (AD domain join + Entra registration) in a single OOBE workflow, and the user receives a clean, fully managed profile without requiring IT to image the machine or bring it to a staging location.
This is the right tool when:
- The user needs Group Policy–delivered resources, legacy on-prem app authentication, or file shares that require domain membership
- You are deploying new hardware (not re-joining an existing machine)
- You have the Intune Connector and a DC reachable during provisioning
What Hybrid Autopilot Does Not Do
Hybrid Autopilot is a provisioning tool for new or factory-reset devices going through OOBE — it is not a migration tool. Applying it to an existing AD-only joined machine requires wiping that machine first to re-enter OOBE. However, Entra Hybrid Join itself does not require a wipe: an existing AD-joined machine can be brought into Hybrid Join by configuring Entra Connect and the targeted deployment GPO without touching user data. See Hybrid Deployment for that procedure, or Scenario: Migrating to Entra Join if the goal is to move to cloud-only.
Autopilot Reset on a Hybrid-joined device also differs from Entra Join: the device must reach a Domain Controller during the reset to re-complete the domain join. This means reset-in-field only works if the device is on-site or connected via VPN. A Hybrid-joined device reset from a remote location without DC line-of-sight will partially complete and leave the device in an unenrolled state.
Known Issues and Failure Modes
Hybrid Join via Autopilot introduces failure modes that don't exist in Entra Join deployments. These are often intermittent and difficult to diagnose because the domain join happens during OOBE — before the admin has a desktop, Event Viewer, or diagnostic tools available.
| Failure mode | What happens | Root cause | Fix |
|---|---|---|---|
| DNS resolution failure | Domain join silently fails. Device completes OOBE as Entra-joined only — no AD computer object is created. No error is shown to the user. | The device is on a network segment (guest Wi-Fi, wrong VLAN, hotel network) that cannot resolve the AD domain name via DNS. The Intune Connector requests a domain join, but the device can't locate a DC. | Ensure the device is on a network with DNS resolution to the AD domain. For on-site provisioning, use a wired connection or a Wi-Fi network on the corporate VLAN. |
| Intune Connector timeout | ESP hangs at "Joining your organization's network" for 30+ minutes, then fails. | The Intune Connector for Active Directory has a 30-minute timeout for creating the computer object in AD. Slow WAN links, overloaded DCs, or connector service issues cause the operation to expire. | Check the Intune Connector service on the on-prem server (ODJConnectorSvc). Verify the connector server has fast, reliable connectivity to a writable DC. Review the connector logs at C:\ProgramData\Microsoft\IntuneConnector\Logs. |
| Computer object pre-staging conflict | Domain join fails with an ambiguous error during ESP. | Someone pre-created the computer object in AD (common in orgs that stage objects in specific OUs for GPO targeting). The connector tries to create the object in its configured OU but the name already exists in a different OU. | Either delete the pre-staged object before Autopilot runs, or configure the connector to target the same OU where the object was pre-created. Do not pre-stage objects for Autopilot Hybrid Join — let the connector create them. |
| VPN bootstrap chicken-and-egg | Remote user cannot complete Hybrid Join because the device can't reach a DC. | The user is at home or off-site. The VPN client isn't installed until ESP completes, but the domain join requires DC access before ESP finishes. There is no pre-boot VPN available. | Hybrid Join Autopilot is not viable for remote provisioning without a pre-boot VPN or Always On VPN configured at the network level. Provision Hybrid Join devices on-site only, or use Entra Join for remote users and migrate to Hybrid Join later via Entra Connect. |
| Clock skew | Kerberos authentication to the DC fails during the domain join. Device may show a generic "Something went wrong" error or silently fall back to Entra Join only. | New-in-box hardware that has been in a warehouse may have a significantly drifted system clock. Autopilot syncs the clock via NTP, but in some network configurations the domain join attempt occurs before the clock sync completes, and Kerberos rejects the authentication due to time skew. | Ensure the provisioning network allows outbound NTP (UDP 123) to time.windows.com. If provisioning in a restricted network, configure a local NTP server and point the DHCP scope's NTP option at it. For persistent issues, manually set the clock at the OOBE command prompt (Ctrl+Shift+F10 → w32tm /resync /force) before allowing OOBE to proceed. |
Most Hybrid Join failures during Autopilot do not produce a clear error message. The device often completes OOBE in an Entra-joined-only state — the user can sign in and work, but Group Policy, domain-authenticated file shares, and on-prem apps that require a domain-joined machine fail silently later. Always verify the join state after provisioning:
dsregcmd /status
Check that both AzureAdJoined: YES and DomainJoined: YES appear. If only AzureAdJoined is YES, the Hybrid Join failed and the device needs to be reprovisioned on a network with DC line-of-sight.
Keep Entra Join and Hybrid Join Profiles Strictly Separate
The Join type setting in an Autopilot Deployment Profile (Microsoft Entra joined vs. Hybrid Entra joined) fundamentally changes how the device completes OOBE. If an Entra-joined device receives a Hybrid profile, it will attempt to contact the Intune Connector for a domain join that cannot succeed — provisioning will fail or the device will end up in an ambiguous join state.
Enforce separation with dynamic device groups:
| Group | Membership Rule | Assigned Profile |
|---|---|---|
Autopilot-EntraJoin | device.devicePhysicalIds -any (_ -eq "[OrderID]:EntraJoin") | Entra Join deployment profile |
Autopilot-HybridJoin | device.devicePhysicalIds -any (_ -eq "[OrderID]:HybridJoin") | Hybrid Join deployment profile |
Use a Group Tag (-GroupTag "EntraJoin" or -GroupTag "HybridJoin") when collecting hardware hashes to route each device into the correct group at registration time. Never assign both profiles to overlapping groups.
Profile settings that behave differently between join types:
| Setting | Entra Join Profile | Hybrid Join Profile |
|---|---|---|
| Join type | Microsoft Entra joined | Hybrid Entra joined |
| Intune Connector | Not used | Required |
| Domain Controller reach during OOBE | Not required | Required |
| Self-Deploying mode | Supported (Commercial) | Not supported |
| Pre-Provisioning (White Glove) | Supported (Commercial) | Supported (Commercial), but DC must be reachable |
| GCC High (v2) support | Supported | Not supported |
- GCC High
- Commercial
Autopilot Device Preparation (v2) — the only Autopilot generation available in GCC High — supports Entra Join only. There is no Hybrid Join path via Autopilot in GCC High. Hybrid-join new hardware in GCC High requires manual domain join followed by Entra registration, or use of the Hybrid Deployment checklist.
No corresponding requirement for Commercial tenants.
Enrollment Status Page (ESP)
The ESP blocks the user from reaching the desktop until required applications and policies have been applied. It has two phases:
| Phase | What It Covers | When It Runs |
|---|---|---|
| Device phase | Device-targeted apps, certificates, device config profiles | Before user sign-in (Self-Deploying and Pre-Provisioning) |
| User phase | User-targeted apps, user config profiles | After user signs in |
Key settings:
| Setting | Recommended Value | Reason |
|---|---|---|
| Show app and profile configuration progress | Yes | User transparency; helps with troubleshooting |
| Block device use until all apps and profiles are installed | Yes | Ensures baseline security before user access |
| Allow users to reset device if installation error occurs | No | Prevents accidental reprovisioning |
| Allow users to use device if installation error occurs after timeout | No | Prevents unenrolled device access |
| Error timeout (minutes) | 60 | Allows time for large app installs on slow connections |
Implementation Guide
Many OEMs (Dell, HP, Lenovo, Microsoft Surface) can pre-register hardware hashes directly into your Intune tenant at order time — provide your Tenant ID to your account representative. Devices arrive already registered and require no manual hash collection. This works for both Commercial and GCC High tenants.
- GCC High
- Commercial
GCC High tenants use Windows Autopilot Device Preparation (v2), which replaces the Classic Autopilot deployment profile with a device preparation policy assigned to a user group. The policy triggers automatically when a user from the target group signs in during OOBE.
Step 1: Configure MDM User Scope
Complete the MDM User Scope configuration in Phase 2: Entra Configuration and confirm these GCC High-specific MDM URLs are set:
- Navigate to Entra > Settings > Mobility > Microsoft Intune
- MDM User Scope:
Autopilot Usersgroup (or All) - MDM terms of use URL:
https://portal.manage.microsoft.us/TermsofUse.aspx - MDM discovery URL:
https://enrollment.manage.microsoft.us/enrollmentserver/discovery.svc - MDM compliance URL:
https://portal.manage.microsoft.us/?portalAction=Compliance
- MDM User Scope:
Step 2: Allow Device Join
- Navigate to Entra > Devices > All Devices > Manage > Device settings
- Users may join devices to Microsoft Entra: Set to All (default)
Step 3: Create the Device Group
This group receives devices as they complete provisioning. Assign your Intune device policies (security baselines, compliance policies, app deployments) to this group.
- Navigate to Entra > Groups > All Groups > New Group
- Group name:
Autopilot Deployed - Group type: Security
- Membership type: Assigned
- Owners: Add
Intune Provisioning Clientas an owner
- Group name:
The Intune Provisioning Client service principal places devices into this group during provisioning. Without it as an owner, device placement fails silently.
Step 4: Create the User Group
Only users in this group will trigger the Device Preparation policy during OOBE.
- Navigate to Entra > Groups > All Groups > New Group
- Group name:
Autopilot Users - Group type: Security
- Membership type: Assigned
- Add all users authorized to provision new devices as members
- Group name:
Step 5: Create the Device Preparation Policy
- Navigate to Intune > Devices > Windows > Windows enrollment > Device preparation policies > Create
| Setting | Value |
|---|---|
| Name | Autopilot Device Preparation |
| Device group | Autopilot Deployed |
| Deployment mode | User-driven |
| Join type | Microsoft Entra joined |
| User account type | Standard User |
| Allowed apps | Add any applications required before the user reaches the desktop |
- Assignments: Assign to the
Autopilot Usersgroup
Step 6 (Optional): Pre-Register Hardware Hashes via Graph API
Pre-registration lets Intune identify the device at the first OOBE screen. Without it, the Device Preparation policy still applies — it just activates on sign-in rather than on machine startup.
Collect the hash (press CTRL+SHIFT+F10 during OOBE to open PowerShell):
Install-Script -Name Get-WindowsAutoPilotInfo -Force
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
Get-WindowsAutoPilotInfo.ps1 -OutputFile AutoPilotHardwareHash.csv
Upload to GCC High tenant via Microsoft Graph:
Install-Module -Name Microsoft.Graph -Force
Connect-MgGraph -Environment USGov
$csvFile = Import-Csv -Path ".\AutoPilotHardwareHash.csv"
foreach ($device in $csvFile) {
$body = @{
serialNumber = $device.'Device Serial Number'
productKey = $null
hardwareIdentifier = $device.'Hardware Hash'
} | ConvertTo-Json -Depth 10
Invoke-MgGraphRequest -Method POST `
-Uri "https://graph.microsoft.us/beta/deviceManagement/importedWindowsAutopilotDeviceIdentities" `
-Body $body -ContentType "application/json"
}
Step 1: Register Hardware Hashes
For devices not pre-registered by the OEM, collect the hash and upload via the portal:
# Collect hash and output to CSV (include a Group Tag to auto-assign to a dynamic group)
Install-Script -Name Get-WindowsAutoPilotInfo
Get-WindowsAutoPilotInfo -OutputFile C:\AutopilotHash.csv -GroupTag "Engineering"
- Navigate to Intune > Devices > Windows > Windows enrollment > Devices
- Click Import and upload the CSV
Run Get-WindowsAutoPilotInfo with the -ComputerName parameter to collect hashes remotely, or deploy it as an Intune script to re-register already-enrolled devices.
Step 2: Create an Autopilot Deployment Profile
Navigate to Intune > Devices > Windows > Windows enrollment > Deployment profiles > + Create profile > Windows PC.
| Setting | User-Driven (Entra Join) | Self-Deploying |
|---|---|---|
| Deployment mode | User-Driven | Self-Deploying |
| Join to Entra ID as | Entra joined | Entra joined |
| Microsoft Software License Terms | Hide | Hide |
| Privacy settings | Hide | Hide |
| Hide change account options | Hide | — |
| User account type | Standard User | — |
| Allow pre-provisioned deployment | Yes (if using White Glove) | No |
| Language | OS Default | OS Default |
| Automatically configure keyboard | Yes | Yes |
| Apply device name template | Optional (e.g., DEPT-%SERIAL%) | Optional |
Assign the profile to your Autopilot device group.
Step 3: Configure the Enrollment Status Page
Navigate to Intune > Devices > Windows > Windows enrollment > Enrollment Status Page.
Create an ESP profile and assign it to the same device group as your Autopilot profile. Configure per the settings table in the ESP section above.
Intune ships with a default ESP that applies to all users and devices. Assign a custom ESP at higher priority to ensure it wins.
Step 4: Assign Profiles to Groups
- Create a static Entra ID security group named
Autopilot Devices - Add devices as hardware hashes are registered (Intune auto-populates device objects)
- Assign both the Deployment Profile and ESP to this group
For Hybrid Join Autopilot, also ensure the Intune Connector for Active Directory service account has permissions to create computer objects in the target OU.
Provision and Verify
To provision a device:
- Factory reset (or unbox new device) and power on
- Connect to internet — Ethernet is recommended for first run to avoid WiFi driver issues during OOBE
- OOBE runs. For Commercial (v1): the Autopilot profile is detected automatically and configured steps are skipped. For GCC High (v2): the Device Preparation policy triggers when the target user signs in.
- ESP runs (device phase, then user phase)
- Desktop is presented
Verification — Intune Portal:
- Navigate to Intune > Devices > Windows > Windows enrollment > Devices
- The device should move from "Registered" to "Enrolled" status
Verification — On Device:
dsregcmd /status
AzureAdJoined : YES(Entra Join) orDomainJoined : YES+AzureAdJoined : YES(Hybrid)MDMEnrolled : YES
Common Provisioning Errors (Commercial v1):
| Error Code | Meaning | Fix |
|---|---|---|
0x800705B4 | TPM attestation timeout (Self-Deploying) | Verify TPM 2.0 is enabled and meets attestation requirements |
0x801c0003 | Device not registered in Autopilot | Register the hardware hash and wait 15 min for sync |
0x80180018 | MDM terms of use endpoint unreachable | Check DNS records and firewall rules for Intune endpoints |
0x80070032 | ESP app installation timeout | Increase ESP timeout or investigate failing app deployment |
Drop this JSON file before OOBE begins to pre-configure locale settings — this works in both environments:
Path: C:\Windows\Provisioning\Autopilot\AutopilotConfiguration.json
{
"CloudAssignedLanguage": "en-US",
"CloudAssignedRegion": "US",
"CloudAssignedKeyboard": "us",
"CloudAssignedOobeConfig": 177
}
Pre-configure WiFi for OOBE connectivity by exporting from a working machine and importing on the target:
netsh wlan export profile name="Corp-WiFi" key=clear folder="D:\Autopilot"
netsh wlan add profile filename="D:\Autopilot\Wi-Fi-Corp-WiFi.xml"
This is a one-time technician step to give the device network access during Autopilot OOBE — before Intune enrollment completes and the managed Wi-Fi profile is delivered. For ongoing Wi-Fi management after enrollment, deploy Intune Wi-Fi configuration profiles as documented in Mobile & Endpoint Security: Wi-Fi Configuration.
How to apply it:
- Commercial (v1, White Glove): Press Windows key 5 times at the OOBE language screen to enter Technician Flow, drop the JSON and WiFi files, then reseal.
- Any environment (v2 / no White Glove): Press CTRL+SHIFT+F10 at any OOBE screen to open a command prompt. Drop the files, then reboot to resume OOBE with prompts bypassed.
Group Tags and Device Naming
Group Tags allow a hardware hash import to automatically route devices into the correct Entra group—and therefore the correct deployment profile and naming convention—without any manual group assignment after registration.
How Group Tags Work
-
Specify a Group Tag when collecting the hardware hash:
Get-WindowsAutoPilotInfo -OutputFile AutopilotHWID.csv -GroupTag "Engineering" -
Create a Dynamic Device Group in Entra with the membership rule:
device.devicePhysicalIds -any (_ -eq "[OrderID]:Engineering") -
Assign the Autopilot Deployment Profile (and ESP) to this dynamic group.
-
Devices tagged
Engineeringare automatically placed in the group after hash import and receive the Engineering profile at OOBE — no manual group membership management required.
Device Naming Templates
Configure a naming template in the Autopilot Deployment Profile (Apply device name template: Yes):
| Pattern | Example Result | Use Case |
|---|---|---|
DEPT-%SERIAL% | ENG-5CG1234ABC | Department-coded, traceable names |
CRP-%RAND:5% | CRP-A3F72 | Generic corporate naming |
LOC-BLDG-%RAND:4% | LOC-BLDG-3B9C | Location-coded names |
- The full device name (prefix + serial/random) must be = 15 characters
%SERIAL%uses the hardware serial number (unique and traceable)%RAND:N%generates N random alphanumeric characters
Retiring an Autopilot Device
For the full decommission procedure — including Intune retire, factory reset, Autopilot record deletion, and Entra cleanup — see Device Lifecycle & Onboarding: Device Retirement. Autopilot-registered devices require the additional step of deleting the Autopilot device record before deleting from Entra; that procedure is documented there.
📩 Don't Miss the Next Solution
Join the list to see the real-time solutions I'm delivering to my GCC High clients.