Skip to main content
The Ops Playbook

Making Zero-Touch & Automation Repeatable with Windows Autopilot

Design a bounded Windows Autopilot zero-touch workflow with explicit evidence, stop conditions and rollback paths. Validate device identity and ESP completion.

Making Zero-Touch & Automation Repeatable with Windows Autopilot
Priya NairPriya Nair10 min readTier L115 min

This playbook covers

Share

#Current Method

Many organisations attempt zero-touch deployment by enabling Windows Autopilot without defining clear operational boundaries. Devices are registered in bulk, profiles are applied globally and the Enrollment Status Page (ESP) is configured with minimal timeout controls. This approach creates friction when devices fail to join Microsoft Entra ID

, receive incorrect configuration profiles or hang during app installation. Operators often lack observable evidence of where the failure occurred, leading to manual re-imaging and repeated support tickets.

The baseline friction stems from treating Autopilot as a binary switch rather than a stateful workflow. Without explicit validation steps, teams cannot distinguish between network connectivity issues, certificate trust failures and policy conflicts. This ambiguity increases mean time to recovery and undermines confidence in automation.

#Improved Workflow

A repeatable zero-touch workflow separates device registration, profile assignment and ESP validation into distinct phases. Each phase produces observable evidence that confirms success before proceeding. The workflow begins with registering hardware hashes in a controlled group, assigning a scoped Autopilot deployment profile and configuring ESP policies that prioritise device setup over user-driven actions.

This approach reduces risk by limiting the blast radius of configuration errors. By using dynamic groups based on device attributes, operators can test changes on a small subset of devices before wider rollout. The workflow explicitly defines stop conditions, such as failed ESP completion or missing compliance status, which trigger automated alerts and halt further provisioning steps.

#Implementation

Implement this workflow in an isolated validation environment. Confirm that you have Global Administrator or Intune Service Administrator permissions and that your tenant supports Windows Autopilot. Verify the Windows version on target devices matches the supported list for your chosen Autopilot profile settings.

  1. Register Device Hardware Hashes: Collect hardware hashes from target devices using the Get-WindowsAutopilotInfo PowerShell module. Import these hashes into Intune under Devices > Windows > Windows enrollment > Devices. Assign devices to a dedicated Azure AD group for testing.
  2. Create Scoped Deployment Profile: Create a new Autopilot deployment profile in Intune. Configure the out-of-box experience to hide privacy settings, skip EULA and disable local account creation. Set the user account type to Standard to enforce least privilege.
  3. Configure Enrollment Status Page: Create an ESP profile that blocks device use until all apps and policies are installed. Set a timeout of 60 minutes and enable progress tracking. Assign this profile to the test group created in step one.
  4. Assign Required Applications: Deploy a small set of mandatory applications to the test group. Use win32 app detection rules to ensure reliable installation reporting. Avoid complex dependencies during initial validation.

#Guardrails

Operational excellence requires observability and safe deployment boundaries. Limit the scope of initial Autopilot deployments to a small test group. Monitor device check-in frequency and ESP completion rates using Intune monitoring workbooks. Establish a communication channel for users in the test group to report blocking issues immediately.

Ensure that network firewalls

allow traffic to Microsoft endpoints required for Autopilot, including Azure AD and Intune service URLs. Verify that DNS resolution works correctly for these endpoints from the test network segment. Do not enable automatic MDM enrollment for all devices until the test group has demonstrated stable completion.

#Validation

Validate each stage of the workflow using observable evidence. After registering hardware hashes, confirm that devices appear in the Intune portal with the correct serial number and model. After assigning the deployment profile, verify that the profile status shows ‘Assigned’ for the test devices.

During device provisioning, monitor the ESP progress bar. Confirm that the device successfully joins Microsoft Entra ID and receives the assigned configuration profiles. Check the Intune device record for compliance status and app installation results. A successful validation shows all required apps installed and no policy conflicts reported within the ESP timeout window.

Hands typing on a laptop with ChatGPT open, wireless technology theme.
Photo by Matheus Bertelli on Pexels

#Common Mistakes

  • Global Profile Assignment: Applying Autopilot profiles to all devices without testing leads to widespread failures if configuration errors exist. Always use scoped groups for initial deployment.
  • Inadequate ESP Timeout: Setting the ESP timeout too low causes devices to drop out of the provisioning process before apps finish installing. Adjust timeouts based on actual installation duration observed in testing.
  • Missing Network Prerequisites: Failing to whitelist required Microsoft endpoints results in devices hanging during enrollment. Verify network connectivity before starting the provisioning process.
  • Complex App Dependencies: Deploying applications with complex dependency chains during initial zero-touch setup increases the risk of timeout failures. Start with simple, standalone applications for validation.

#Recovery

If a device fails to complete the ESP, collect the diagnostic logs using the MDMDiagnosticsTool.exe utility. Analyse the logs for specific error codes related to network connectivity, certificate trust or policy application. If the failure is due to a misconfigured profile, update the profile in Intune and reset the device to retry provisioning.

For devices stuck in a loop, perform a remote wipe via Intune to return the device to a clean state. Re-register the hardware hash if necessary and reassign the device to the test group. Document the root cause of the failure and update the deployment profile to prevent recurrence. If the issue persists across multiple devices, escalate to Microsoft support with the collected diagnostic logs.

#Measurable Outcome

Success is defined by a 95% first-time completion rate for devices in the test group within the ESP timeout window. Measure the average time taken for devices to reach the desktop after power-on. Track the number of support tickets related to provisioning failures during the test phase. A successful outcome shows a reduction in manual intervention and consistent device configuration across the test group.

Review these metrics weekly during the test phase. If the completion rate falls below 95%, pause the rollout and investigate the root causes of failure. Adjust the deployment profile and app packages as needed before expanding the scope to additional devices.

#Operational Checklist

  • Hardware hashes collected and imported into Intune.
  • Test group created and devices assigned.
  • Autopilot deployment profile configured and assigned to test group.
  • Enrollment Status Page profile configured with appropriate timeout.
  • Required applications deployed and detection rules verified.
  • Network connectivity to Microsoft endpoints confirmed.
  • Diagnostic logging enabled for test devices.
  • Support channel established for test users.

#Pre-Implementation Permissions and Licensing Checks

Before registering a single hardware hash, confirm the role assignments held by the operator executing each phase. Autopilot device registration via Microsoft Graph requires the DeviceManagementServiceConfig.ReadWrite.All scope, whilst profile assignment and ESP configuration require DeviceManagementConfiguration.ReadWrite.All. Where a delegated administrator model is in use, confirm that the Intune Service Administrator role has not been scoped to exclude the target device group through administrative units. Licensing checks matter equally: confirm that each device or user account in the test group holds an eligible Microsoft Entra ID P1 licence and an Intune licence, as unlicensed accounts silently fail enrollment without a clear indication in the ESP progress bar. Record the licence SKU assignment method (group-based or direct) in the change record, since group-based licensing delays of up to several hours can be mistaken for provisioning failures.

Close-up of a robot hand and silver-gloved hand touching, symbolizing human-robot connection.
Photo by Tara Winstead on Pexels

#
Change-Control Record Requirements

Each phase of the workflow should generate a discrete change record rather than a single blanket entry. Capture the Autopilot profile ID, ESP policy ID, target group object ID and the specific build number of Windows in use at the time of testing. Note the requester, approver and rollback owner separately, since the person executing a rollback under time pressure is frequently not the person who approved the original change. Store exported JSON definitions of the deployment profile and ESP policy alongside the change record using Get-MgDeviceManagementWindowsAutopilotDeploymentProfile or the equivalent Graph export, so that a prior configuration can be restored precisely rather than reconstructed from memory.

#Monitoring Signals Beyond Completion Rate

Completion rate alone masks intermittent degradation. Configure an Intune monitoring workbook query that tracks median and 95th-percentile ESP duration per day, not merely pass or fail counts. A rising 95th-percentile duration whilst the median remains stable typically indicates a subset of devices experiencing intermittent DNS resolution delays or throttling on a proxy server, rather than a systemic profile fault. Enable sign-in log correlation for the device join event in Microsoft Entra ID, filtering on the join type attribute, to distinguish devices that fail Entra join entirely from devices that join successfully but then fail during MDM enrollment or app installation. Where a network proxy performs TLS inspection, confirm that the required Microsoft endpoints are placed in a bypass list, as inspected certificates on these endpoints produce trust failures that present identically to genuine certificate misconfiguration in diagnostic logs.

#
Escalation Thresholds

Define escalation thresholds before the test phase begins, not reactively once failures accumulate. A single isolated ESP failure within the test group warrants local investigation only. Three or more failures within a 24-hour window sharing the same failure phase (device setup, account setup, or app installation) should trigger escalation to the Intune platform owner, alongside a temporary pause on further device provisioning. Where failures span multiple device models or multiple network segments simultaneously, treat this as a tenant-level signal and escalate directly to Microsoft support rather than continuing local triage, since cross-segment failures often indicate a service-side throttling or certificate authority issue outside the operator’s configuration scope.

#Realistic Failure Symptoms and Their Likely Causes

Devices that stall at the account setup phase with no progress for an extended period frequently indicate a Microsoft Entra ID join failure caused by an expired or misconfigured Autopilot device registration, rather than an ESP timeout misconfiguration. Devices that complete Entra join but stall during app installation, particularly where the ESP progress bar remains static on a single application, commonly indicate a Win32 app detection rule that never evaluates as true, causing Intune to retry the installation indefinitely within the timeout window. Devices that complete provisioning successfully but subsequently show as non-compliant in the Intune console typically indicate a compliance policy assignment gap, where the compliance policy was not assigned to the same dynamic group used for the deployment profile. Cross-check group membership rules using Get-MgGroupMember against both the deployment profile assignment and the compliance policy assignment whenever this symptom appears.

#
Expected Evidence at Each Checkpoint

At the hardware hash registration checkpoint, expected evidence includes a device entry visible under Windows enrollment devices with a populated serial number, manufacturer and model field within minutes of import. At the profile assignment checkpoint, expected evidence includes an assignment status of Assigned against the correct group object ID, confirmed via the Intune console or Graph query, not merely an absence of error during profile creation. At the ESP checkpoint, expected evidence includes sequential progress through device setup, account setup and app installation phases without any phase remaining static beyond five minutes without a status change. Absence of any of these evidentiary markers, rather than an explicit failure message, should be treated as sufficient grounds to halt further rollout pending investigation.

#Safe Rollback Actions

Where a deployment profile change is suspected as the root cause, revert the profile assignment to the previously exported JSON definition rather than attempting incremental corrections under time pressure. Reassign the prior profile version to the test group and confirm assignment status before resuming provisioning. Where an ESP timeout adjustment introduces new failures, restore the previously validated timeout value rather than extending it further, since extended timeouts frequently mask underlying app packaging faults rather than resolving them. Where app detection rule changes are implicated, remove the affected application from the mandatory assignment list entirely during rollback, provision a single test device to confirm stability without that application, then reintroduce a corrected detection rule in isolation before returning it to the mandatory set.

Priya Nair

Priya Nair

Ops Playbook Architect

Priya Nair is a Cloud Automation Engineer architecting efficient, infrastructure-as-code deployments across AWS and Kubernetes.

Published
View Profile
Reader Interaction

Comments

Add a thoughtful note on Making Zero-Touch & Automation Repeatable with Windows Autopilot. Comments are checked for spam and held for moderation before appearing.

Loading comments...

Discover more

Learn More About KBY

Was this useful?

Operate smarter, with fewer recurring tickets.

Receive new operational playbooks, incident-prevention guidance, automation scripts and recovery runbooks.