IntuneDeep dive

Windows enrollment error codes in Intune (0x8018…, 0x801C… and more): a quick reference

Look up a Windows enrollment or Entra join failure: what 0x80180018, 0x8018002b, 0x801c03f2 and dozens more codes mean, the usual cause in an Intune tenant and the first check.

Windows enrollment rarely explains itself: you get "Something went wrong" and a code such as 80180018, an event 76, or a Client ErrorCode in dsregcmd /status. This reference lists the codes Microsoft documents for MDM enrollment (0x8018…) and for Microsoft Entra join and hybrid join (0x801C…, plus the TPM and network codes behind them), with the meaning, the usual cause in an Intune tenant and the first check. Autopilot codes have their own Windows Autopilot quick reference.

Codes in this quick reference

  • 0x80180018 MENROLL_E_USERLICENSE: the user's licence state blocks enrollmentOOBE / Access work or school
  • 0x80180003 MENROLL_E_DEVICE_AUTHORIZATION_ERROR: the user isn't authorized to enrollOOBE / Access work or school
  • 0x80180013 MENROLL_E_DEVICECAPREACHED: the user has enrolled too many devicesOOBE / Access work or school
  • 0x80180014 MENROLL_E_DEVICENOTSUPPORTED: Your organization does not support this version of Windows.OOBE / Access work or school
  • 0x8018002b Auto MDM Enroll: Failed (Group Policy automatic enrollment, event 76)DeviceManagement-Enterprise-Diagnostics log
  • 0x80180031 MENROLL_E_MDM_NOT_CONFIGURED: MDM isn't configuredOOBE / Access work or school
  • 0x80180026 MENROLL_E_DEVICE_MANAGEMENT_BLOCKED: MDM enrollment was blockedOOBE / Access work or school
  • 0x8018001C MENROLL_E_PLATFORM_LICENSE_ERROR: this Windows version doesn't support the enrollment typeOOBE / Access work or school

+ 42 more codes in the tables below.

How this guide is organised: How to read these codes → MDM enrollment codes → Microsoft Entra join and hybrid join codes → How to verify a fixFlow diagram of the article's sections in reading order: 1. How to read these codes. 2. MDM enrollment codes (4 parts: Licence, scope and restrictions; Device state and re-enrollment; Network, certificates and service responses; Messages without a code). 3. Microsoft Entra join and hybrid join codes. 4. How to verify a fix. Toolbox: 0x80180018, 0x801C0021, 0x80072EE2, dsregcmd /status, Get-Tpm.1How to read thesecodes2MDM enrollmentcodes3Microsoft Entra joinand hybrid join codes4How to verify a fixLicence, scope andrestrictionsDevice state andre-enrollmentNetwork, certificates andservice responsesMessages without a codeTOOLBOX0x801800180x801C00210x80072EE2dsregcmd /statusGet-TpmHow this guide is organised: How to read these codes → MDM enrollment codes → Microsoft Entra join and hybrid join codes → How to verify a fixFlow diagram of the article's sections in reading order: 1. How to read these codes. 2. MDM enrollment codes (4 parts: Licence, scope and restrictions; Device state and re-enrollment; Network, certificates and service responses; Messages without a code). 3. Microsoft Entra join and hybrid join codes. 4. How to verify a fix. Toolbox: 0x80180018, 0x801C0021, 0x80072EE2, dsregcmd /status, Get-Tpm.1How to read these codes2MDM enrollment codesLicence, scope and restrictionsDevice state and re-enrollmentNetwork, certificates and service responsesMessages without a code3Microsoft Entra join and hybrid join codes4How to verify a fixTOOLBOX0x801800180x801C00210x80072EE2dsregcmd /statusGet-Tpm
At a glance: how this guide is organised · 4 steps · 5 key settings and tools

How to read these codes#

The same failure can surface in three places:

  • On screen. During OOBE or in Settings › Accounts › Access work or school, the error page usually drops the 0x prefix, so 0x80180018 appears as 80180018.
  • Enrollment event log. Applications and Services Logs › Microsoft › Windows › DeviceManagement-Enterprise-Diagnostics-Provider › Admin. For Group Policy automatic enrollment, event 75 is a success and event 76 (Auto MDM Enroll: Failed) carries the code.
  • Join diagnostics. For hybrid join, the Diagnostic Data section of dsregcmd /status shows the Error Phase (precheck, discover, auth or join), the Client ErrorCode and the Server ErrorCode; a failed discovery adds a sub-error, as in DRS Discovery Test : FAIL [0x801c0021/0x80072ee2]. Older builds log this under Microsoft › Windows › User Device Registration (events 304, 305 and 307).

The prefix names the component: 0x8018… is the MDM enrollment client (MENROLL_E_ values from MDMRegistration.h), 0x801C… is Microsoft Entra device registration (DSREG_), 0x8009…, 0x8028… and 0x8029… come from the TPM and key storage, and 0x80072E… or 0x80072F… are WinINet network errors. When Intune declines an enrollment it also returns a fault subcode such as DeviceCapReached, shown in brackets below where Microsoft documents one. Some logs print signed decimals instead of hex:

PowerShell
'0x{0:X8}' -f -2145648611   # 0x801C001D
[int]0x80180018             # -2145910760
# Collect enrollment and provisioning logs into one cab
mdmdiagnosticstool.exe -area 'DeviceEnrollment;DeviceProvisioning' -cab C:\enroll.cab

MDM enrollment codes (0x8018…)#

Most of these are decided by tenant settings, so start in the Microsoft Intune admin center.

Licence, scope and restrictions#

CodeMeaningUsual causeFirst check
0x80180018MENROLL_E_USERLICENSE: the user's licence is in a state that blocks enrollment (UserLicense)No Intune licence, or the Intune service plan is switched off inside the licenceUsers › All users › the user › Licenses (0x80180018 guide)
0x80180003MENROLL_E_DEVICE_AUTHORIZATION_ERROR: the user isn't authorized to enrollIntune declined the user (fault subcode Authorization); Microsoft doesn't list specific triggersThe user's licence, the MDM user scope under Devices › Device onboarding › Enrollment › Windows › Automatic Enrollment, and the enrollment restrictions that apply to them
0x80180013MENROLL_E_DEVICECAPREACHED: the user has already enrolled too many devices (DeviceCapReached)The Intune device limit restriction (it doesn't apply to Group Policy, bulk or device enrollment manager enrollments)The user's device records; retire old ones before raising the limit
0x80180014MENROLL_E_DEVICENOTSUPPORTED: platform or version not supported (DeviceNotSupported); on screen "Your organization does not support this version of Windows."Windows (MDM) set to Block in a device platform restriction; on a reused Autopilot device, the old Intune recordEvery Windows platform restriction that can apply (0x80180014 guide)
0x8018002bAuto MDM Enroll: Failed (Unknown Win32 Error code: 0x8018002b), event 76, Group Policy enrollmentUPN with an unverified or non-routable suffix such as .local, or MDM user scope set to NoneFix the UPN suffix in AD, then Start-ADSyncSyncCycle -PolicyType Delta; check the MDM user scope
0x80180031MENROLL_E_MDM_NOT_CONFIGURED: MDM isn't configuredWindows found no MDM configuration to use; Microsoft gives no further detailAutomatic Enrollment: MDM user scope and the default MDM URLs; an empty MdmUrl in dsregcmd /status
0x80180026MENROLL_E_DEVICE_MANAGEMENT_BLOCKED: MDM was blocked, possibly by Group PolicyThe Disable MDM Enrollment policy; Microsoft also lists an old Intune PC client (agent) left installedDisableRegistration under HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\MDM; gpresult /h C:\gp.html
0x8018001CMENROLL_E_PLATFORM_LICENSE_ERROR: the installed Windows version doesn't support this enrollment typeAn edition that can't use the chosen enrollment methodThe edition in Settings › System › About
0x80180015MENROLL_E_NOTSUPPORTED: MDM isn't supported on this device at allA device type or SKU that can't be MDM-managedEdition and device type; retrying won't help

Device state and re-enrollment#

CodeMeaningUsual causeFirst check
0x8018000AMENROLL_E_DEVICE_ALREADY_ENROLLED; on screen "The device is already enrolled."Another user already enrolled the device or joined it to Microsoft Entra IDSign in as that account, remove its connection in Access work or school, then enroll
0x8007064c"The machine is already enrolled." (enrollment log)An earlier enrollment, a cloned image of an enrolled PC, or the old account certificate still presentRemove the Sc_Online_Issuing Intune certificate and HKLM\SOFTWARE\Microsoft\OnlineManagement (back up first)
0x80180009MENROLL_E_ENROLLMENT_IN_PROGRESS: another enrollment is already runningOverlapping attempts, such as the Group Policy task and a manual enrollmentLet the first attempt finish, then retry once
0x8018001BMENROLL_E_PLATFORM_WRONG_STATE: an invalid operation, such as enrolling the same device twiceLeftover enrollment stateOld connections in Access work or school; entries under HKLM\SOFTWARE\Microsoft\Enrollments
0x8018000BMENROLL_E_DEVICE_NOT_ENROLLED: the device isn't enrolledAn action needs an enrollment that no longer existsMdmUrl in dsregcmd /status and the Intune record (Company Portal guide)
0x80180016MREGISTER_E_NOTELIGIBLETORENEW: the server rejected the MDM certificate renewal (NotEligibleToRenew)Microsoft's first suspect is the device clock; otherwise the service no longer accepts this enrollment for renewalDevice date and time; if the clock is right, re-enroll, which Microsoft says can resolve it (check-in guide)
0x80180030MENROLL_E_USER_CANCELED: the user canceled the operationSign-in or enrollment prompt closedRetry with the user present

Network, certificates and service responses#

CodeMeaningUsual causeFirst check
0x80180010MENROLL_E_CONNECTIVITY: a network error such as DNS failure or a timeoutProxy, firewall or DNS blocking the enrollment endpointsTest-NetConnection enrollment.manage.microsoft.com -Port 443
0x80180012MENROLL_E_INVALIDSSLCERT: the SSL certificate wasn't validTLS inspection replacing Microsoft's certificateExclude the Intune endpoints from inspection
0x8018000DMENROLL_E_DISCOVERY_SEC_CERT_DATE_INVALID: certificate date invalid during discoveryWrong device clock, or an inspected certificateDate, time and time zone; w32tm /resync
0x80180001MENROLL_E_DEVICE_MESSAGE_FORMAT_ERROR: invalid message format from the server (MessageFormat)A proxy altering the responseRetry on a network without the proxy
0x80180029MENROLL_E_EMPTY_MESSAGE: HTTP 200 with an empty messageA proxy or captive portal answering instead of IntuneThe same test off the proxy
0x80180002MENROLL_E_DEVICE_AUTHENTICATION_ERROR: the server failed to authenticate the user (Authentication)Token not accepted: wrong account, or sign-in blockedThe user's Microsoft Entra sign-in log at that time
0x8018000FMENROLL_E_WAB_ERROR: error during web authentication broker (WAB) enrollmentThe sign-in page couldn't complete: blocked URLs or a policy promptSign-in log; required Microsoft Entra URLs
0x80180005, 0x80180006, 0x80180008Server errors: management server failure, unhandled exception, unknown errorUsually transient on the service sideIntune service health; retry, then open a case with the time and code
0x80180027MENROLL_E_CERTPOLICY_PRIVATEKEYCREATION_FAILED: the private key couldn't be createdMicrosoft names no cause; the key is generated on the device, so the TPM and key storage are the first suspectsGet-Tpm (TpmPresent, TpmReady); TPM firmware
0x80180032The server responded with a custom error string (Microsoft's page reuses the 0x80180031 constant name here)Intune sent its own reasonRead the text in the DeviceManagement-Enterprise-Diagnostics-Provider Admin log
0x8018001E to 0x80180025MENROLL_E_PROV_*: provisioning failed in a configuration service provider (CSP)A client-side step failed after the service accepted the deviceThe event log and registry dump in the MDM diagnostics cab; for 0x80180022 during Autopilot see the Autopilot reference

Messages without a code#

MessageMeaningUsual causeFirst check
"This account is not allowed on this phone."Licence check failedNo valid Intune licenceAssign a licence that includes Intune
"Looks like we can't connect to the URL for your organization's MDM terms of use."The MDM terms of use step failedBasic Mobility and Security plus Intune in one tenant with an unlicensed user, or a blank or wrong terms of use URLThe licence; Restore default MDM URLs so the URL is https://portal.manage.microsoft.com/TermsofUse.aspx
"A setup failure has occurred during bulk enrollment."Provisioning package join failedThe package's account (package_GUID) isn't allowed to join devicesEntra ID › Devices › Device settings: Users may join devices to Microsoft Entra ID

Microsoft Entra join and hybrid join codes (0x801C…)#

Hybrid join runs in the system context (the Automatic-Device-Join task under Microsoft › Windows › Workplace Join), so test proxies and firewalls as SYSTEM; netsh winhttp show proxy shows the machine proxy. Windows Hello codes in the same range, such as 0x801C03ED, are in the Windows Hello for Business errors guide.

Discovery: SCP, DRS and realm#

CodeMeaningUsual causeFirst check
0x801c001dDSREG_AUTOJOIN_ADCONFIG_READ_FAILED: the service connection point (SCP) couldn't be read; with event 220, the computer object couldn't be readMissing or wrong SCP; AD replication (errors 1312 or 1317)The SCP (SCP guide); AD replication health
0x801c0021DSREG_AUTOJOIN_DISC_FAILED: generic discovery failureDiscovery metadata couldn't be fetched; the sub-error has the detailThe DRS Discovery Test line (dsregcmd guide)
0x801c001fDSREG_AUTOJOIN_DISC_WAIT_TIMEOUT: discovery timed outenterpriseregistration.windows.net unreachable as SYSTEMMachine proxy and firewall rules
0x801c003dDSREG_AUTOJOIN_USERREALM_DISCOVERY_FAILED: couldn't tell whether the domain is managed or federatedlogin.microsoftonline.com unreachable as SYSTEMProxy authentication for the computer account
0x801c003aDSREG_DISCOVERY_TENANT_NOT_FOUND: wrong tenant ID in the SCP, or no active subscriptionSCP pointing at the wrong tenantThe azureADId keyword on the SCP
0x801c0025DSREG_SERVER_BUSY: HTTP 503 from the device registration serviceService temporarily unavailableRetry later
0x8007000dE_INVALIDDATA: the server's JSON response couldn't be parsedA proxy returning an HTML sign-in page with HTTP 200Proxy authentication for the computer account

Join phase, device objects and quotas#

CodeMeaningUsual causeFirst check
0x801c03f2DSREG_E_DIRECTORY_FAILURE: DirectoryError, typically "The device object by the given id (…) isn't found."Sync-join tried before Microsoft Entra Connect synced the computerThe computer's OU in sync scope; wait for a sync cycle (dsregcmd guide)
0x801c0002DSREG_E_DEVICE_AUTHENTICATION_ERROR: AuthenticationError from the registration serviceCertificate on the device object doesn't match the sync-join one, usually because sync hasn't finishedLet sync finish, then retry
0x801c0006DSREG_E_DEVICE_INTERNALSERVICE_ERROR: error response from the registration serviceService side; the server error code has the reasonServer ErrorCode and Server Message in dsregcmd /status
0x801C000EDevice registration quota reached (reported by admins; Microsoft documents the device limit, not this code)The user has hit the Microsoft Entra maximum number of devices per user, which blocks further registrationsEntra ID › Devices › Device settings; delete stale devices
AADSTS90002: Tenant UUID not found.DirectoryError during sync-joinNo active subscription, or a wrong tenant ID in the SCPThe SCP tenant ID
"Your request is throttled temporarily. Please try after 300 seconds."DirectoryError during federated joinSeveral registration requests in quick successionWait for the cool-down, then retry

TPM and network errors#

CodeMeaningUsual causeFirst check
0x80090016NTE_BAD_KEYSET: the TPM keyset doesn't existTPM cleared, or an image sysprepped from a joined or registered PCStop clearing TPMs; build images from a PC that was never joined
0x80290407, 0x80280036TPM_E_PCP_INTERNAL_ERROR (generic TPM error); TPM_E_NOTFIPS (TPM in FIPS mode isn't supported)TPM firmware or modeTPM firmware update; Windows 10 1809 and later finish the join without the TPM
0x80090031NTE_AUTHENTICATION_IGNORED: the TPM is locked outTransient lockoutWait for the cool-down; the next attempt should succeed
0x80072ee2WININET_E_TIMEOUT: network timeoutProxy or firewall dropping the connectionhttps://enterpriseregistration.windows.net from the system context
0x80072efd, 0x80072efeWININET_E_CANNOT_CONNECT; WININET_E_CONNECTION_ABORTEDConnection blocked or cut offFirewall rules; retry from a stable network
0x80072ee7WININET_E_NAME_NOT_RESOLVED: the server name couldn't be resolvedDNSResolve-DnsName enterpriseregistration.windows.net
0x80072f8fWININET_E_DECODING_FAILED: the response couldn't be decodedA proxy modifying the server responseBypass inspection for the registration endpoints

How to verify a fix#

Repeat the failed step, then confirm:

  1. Enrollment log: a new event 75 and no new event 76. For user-driven enrollment, Sync under Access work or school › the account › Info completes.
  2. Join state: dsregcmd /status shows AzureAdJoined : YES (plus DomainJoined : YES for hybrid), an MdmUrl on enrollment.manage.microsoft.com and, once the user signs in, AzureAdPrt : YES.
  3. Intune: the device appears under Devices › Windows with a recent check-in, and its Microsoft Entra record shows Microsoft Intune as the MDM.
PowerShell
dsregcmd /status | Select-String 'AzureAdJoined|DomainJoined|MdmUrl|AzureAdPrt '
Get-WinEvent -LogName 'Microsoft-Windows-DeviceManagement-Enterprise-Diagnostics-Provider/Admin' -MaxEvents 200 |
    Where-Object Id -in 75, 76 | Select-Object TimeCreated, Id, Message -First 5

To retry Group Policy enrollment now, run the Schedule created by enrollment client for automatically enrolling in MDM from Microsoft Entra ID task under Microsoft › Windows › EnterpriseMgmt. For hybrid join, sign out and back in so Automatic-Device-Join runs again.

References#

Revision history: Oct 2026 — re-checked against Microsoft Learn: 1 correction; 5 details reworded or labelled as reported by admins.

Written and checked against current Microsoft Learn documentation. Test changes with a pilot group before rolling them out to everyone, and if an admin center path has moved since, search for the setting name instead.

Spotted a mistake, or did this fix work differently for you? Email me or message me on LinkedIn — corrections are credited in the article.

Written by

Omer Eltayeb

Intune Subject Matter Expert in Cairo, Egypt, former Microsoft Cloud Solutions Architect, Microsoft Certified Trainer and Microsoft Innovative Educator Expert (2024–26) and Microsoft Elevate Educator Expert (2026–27). I share practical, step-by-step guides, study plans, scripts and toolkits for Microsoft Intune, Configuration Manager, Microsoft Entra ID, Microsoft Defender, Exchange and Microsoft 365 with the community.

Microsoft Certified Trainer (MCT) 2026Microsoft Innovative Educator Expert 2025–2026Microsoft Elevate Educator Expert 2026–2027ISC2 Certified Information Systems Security Professional (CISSP)Microsoft 365 Certified: Enterprise Administrator Expert (MS-102)