Troubleshoot Autopilot OOBE issues
When the out-of-box-experience (OOBE) includes unexpected Autopilot behavior, it's useful to check if the device received an Autopilot profile. If so, check the settings that the profile contained. Depending on the Windows client release, there are different mechanisms available to do that.
Note
With Windows 11, additional detailed troubleshooting information about the Autopilot provisioning process can be enabled. The Windows Autopilot diagnostics page provides IT admins and end users with a user-friendly view to troubleshoot Windows Autopilot failures. This feature can be enabled by going to the ESP profile and selecting Yes to Allow users to collect logs about installation errors. This feature is currently supported for commercial OOBE, and Autopilot user-driven mode.
Can't connect to MDM terms of use error
The following messages displayed during OOBE are associated with licensing issues:
Something went wrong.
Can't connect to the URL of your organization's MDM terms of use. Try again, or contact your system administrator with the problem information from this page.
Check that the user who is signing into the device has a valid Intune, EMS, or Microsoft 365 license.
Event log entries
Windows Autopilot logs entries into the event log. The log entries can be used to see details related to the Autopilot profile settings and OOBE flow. These entries can be viewed using Event Viewer. Review the information at Application and Services Logs -> Microsoft -> Windows -> ModernDeployment-Diagnostics-Provider -> Autopilot. The following events might be recorded, depending on the scenario and profile configuration:
Event ID | Type | Message | Description |
---|---|---|---|
100 | Warning | Autopilot policy [name] not found. | This error is typically a temporary problem, while the device is waiting for an Autopilot profile to be downloaded. |
101 | Info | AutopilotGetPolicyDwordByName succeeded: policy name = [setting name]; policy value = [value]. | This message shows Autopilot retrieving and processing numeric OOBE settings. |
103 | Info | AutopilotGetPolicyStringByName succeeded: policy name = [name]; value = [value]. | This message shows Autopilot retrieving and processing OOBE setting strings such as the Microsoft Entra tenant name. |
109 | Info | AutopilotGetOobeSettingsOverride succeeded: OOBE setting [setting name]; state = [state]. | This message shows Autopilot retrieving and processing state-related OOBE settings. |
111 | Info | AutopilotRetrieveSettings succeeded. | This message means that the settings stored in the Autopilot profile that control the OOBE behavior were retrieved successfully. |
153 | Info | AutopilotManager reported the state changed from [original state] to [new state]. | Usually, this message says ProfileState_Unknown to ProfileState_Available. This case indicates that a profile was available and downloaded for the device and that the device is ready to deploy using Autopilot. |
160 | Info | AutopilotRetrieveSettings beginning acquisition. | This message shows that Autopilot is getting ready to download the needed Autopilot profile settings. |
161 | Info | AutopilotManager retrieve settings succeeded. | The Autopilot profile was successfully downloaded. |
163 | Info | AutopilotManager determined download isn't required and the device is already provisioned. Clean or reset the device to change this. | This message indicates that an Autopilot profile is resident on the device; it typically would only be removed by the Sysprep /Generalize process. |
164 | Info | AutopilotManager determined Internet is available to attempt policy download. | |
171 | Error | AutopilotManager failed to set TPM identity confirmed. HRESULT=[error code]. | This message indicates an issue performing TPM attestation, needed to complete the self-deploying mode process. |
172 | Error | AutopilotManager failed to set Autopilot profile as available. HRESULT=[error code]. | This error is typically related to event ID 171. |
Registry
Autopilot profile settings received from the Autopilot deployment service are stored in the device's registry. This information can be found at HKLM\SOFTWARE\Microsoft\Provisioning\Diagnostics\Autopilot. Available registry entries include:
Value | Description |
---|---|
AadTenantId | The GUID of the Microsoft Entra tenant the user signed into. The user receives an error if this entry doesn't match the tenant that was used to register the device. |
CloudAssignedTenantDomain | The Microsoft Entra tenant the device is registered with, for example, contosomn.onmicrosoft.com . If the device isn't registered with Autopilot, this value is blank. |
CloudAssignedTenantId | The GUID of the Microsoft Entra tenant the device registered with. The GUID corresponds to the tenant domain from the CloudAssignedTenantDomain registry value. If the device isn't registered with Autopilot, this value is blank. |
IsAutopilotDisabled | If set to 1, this registry value indicates that the device isn't registered with Autopilot. This state could also indicate that the Autopilot profile couldn't be downloaded because of network connectivity or firewall issues, or network timeouts. |
TenantMatched | This entry is set to 1 if the user's tenant ID matches the tenant ID that the device was registered with. If this registry value is 0, the user would be shown an error and forced to start over. |
CloudAssignedOobeConfig | A bitmap that shows which Autopilot settings were configured. Values include: SkipCortanaOptIn = 1, OobeUserNotLocalAdmin = 2, SkipExpressSettings = 4, SkipOemRegistration = 8, SkipEula = 16 |
ETW trace options
ETW tracing can be used to get detailed information from Autopilot and related components. The ETW trace files can be viewed using the Windows Performance Analyzer or similar tools. For more information, see the advanced troubleshooting blog.
Related content
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for