Fleet versions
- Discovered: 4.86.2
- Reproduced: 4.89.0 (Dogfood)
Web browser and operating system: N/A
💥 Actual behavior
During Windows Autopilot enrollment, the Enrollment Status Page ("Setting up your organization's device") gets stuck indefinitely, with tracking sub-items frozen on "Identifying" / "Waiting." The device's MDM session is working throughout (it syncs successfully with Fleet and profiles can still be delivered to it), but the ESP never advances.
Reported by preston across multiple customer tenants, with 56 affected customers tracked on their side.
🛠️ Expected behavior
The Enrollment Status Page should complete once Fleet finishes provisioning the device, allowing the device to proceed past the ESP screen.
🧑💻 Steps to reproduce
These steps:
- Enroll a Windows device via Autopilot to Fleet.
- Let the device proceed through OOBE to the Enrollment Status Page.
- ESP intermittently hangs on "Identifying" / "Waiting" and never completes, even though the device continues to check in with Fleet successfully.
🕯️ More info (optional)
- Internally, Andrey reproduced it on 4.89.0 with a completely blank fleet (no setup experience software/scripts/profiles configured). One of two identically-configured test devices got stuck while the other enrolled successfully.
- @AndreyKizimenko provided a workaround. Load this script into setup experience for the fleet:
<#
Fleet setup-experience workaround: ESP account-setup release delay
------------------------------------------------------------------
Purpose:
Windows Autopilot ESP hangs on "Account setup" because Fleet fires the
user-scope DMClient release (.../FirstSyncStatus/ServerHasFinishedProvisioning)
immediately when a team has no setup-experience work to wait on. The device
rejects that early user-scope write with SyncML 405 and the phase strands.
Adding a setup-experience item forces handleESPRelease to hold the release
across check-ins until the item reaches a terminal state. This script does
nothing but sleep, giving the user-scope MDM context time to become writable
before Fleet sends the release -> the write acks 200 and the device proceeds.
Behavior:
Sleeps for $DelaySeconds (default 60s / 1 min), then exits 0 (success) so
the ESP is not failed or blocked.
Notes:
- Runs as SYSTEM during the account-setup phase.
- Keep the delay under Fleet's setup-experience script timeout.
#>
$DelaySeconds = 60
Write-Output "[$(Get-Date -Format o)] Fleet ESP delay: sleeping $DelaySeconds seconds to let the user-scope ESP node initialize..."
Start-Sleep -Seconds $DelaySeconds
Write-Output "[$(Get-Date -Format o)] Fleet ESP delay complete; exiting 0."
exit 0
Fleet versions
Web browser and operating system: N/A
💥 Actual behavior
During Windows Autopilot enrollment, the Enrollment Status Page ("Setting up your organization's device") gets stuck indefinitely, with tracking sub-items frozen on "Identifying" / "Waiting." The device's MDM session is working throughout (it syncs successfully with Fleet and profiles can still be delivered to it), but the ESP never advances.
Reported by
prestonacross multiple customer tenants, with 56 affected customers tracked on their side.🛠️ Expected behavior
The Enrollment Status Page should complete once Fleet finishes provisioning the device, allowing the device to proceed past the ESP screen.
🧑💻 Steps to reproduce
These steps:
🕯️ More info (optional)