IntuneTroubleshooting

Windows Hello for Business provisioning errors in Intune: 0x801C03ED, Event 360 and more

Fix Windows Hello for Business PIN setup failures on Intune PCs: the 0x801C and 0x8009 codes, Event ID 360 prerequisite lines, conflicting policy sources and dsregcmd checks.

Windows Hello for Business provisioning fails in one of two ways: the Create a PIN step stops with a hex code, or the PIN prompt never appears at all. In this post I'll match the documented 0x801C and 0x8009 codes to their causes, decode the Event ID 360 prerequisite lines, untangle conflicting policy sources, and prove the fix with dsregcmd /status.

Errors this guide fixes

  • 0x801C03ED Multi-factor authentication is required for a 'ProvisionKey' operation, but wasn't performed.Windows Hello PIN setup
  • 0x801C000E Registration quota reached.Windows Hello PIN setup
  • 0x801C03F2 Windows Hello key registration failed.Windows Hello PIN setup
  • 0x801C044D Authorization token doesn't contain device ID.Windows Hello PIN setup
  • 0x80090035 Policy requires TPM and the device doesn't have TPM.Windows Hello PIN setup
  • 0x80090029 TPM isn't set up.Windows Hello PIN setup
  • 0xC00000BB Your PIN or this option is temporarily unavailable.Windows sign-in with PIN
  • Windows Hello for Business provisioning will not be launched.Event ID 360 (User Device Registration/Admin)
How this guide is organised: Symptoms → Why it happens → How to fix it → Verify the fix → Key takeawaysFlow diagram of the article's sections in reading order: 1. Symptoms. 2. Why it happens. 3. How to fix it. 4. Verify the fix. 5. Key takeaways. Toolbox: 0x801C03ED, 0xC00000BB, 0x801C000E, dsregcmd /status, Get-Tpm.1Symptoms2Why it happens3How to fix it4Verify the fix5Key takeawaysTOOLBOX0x801C03ED0xC00000BB0x801C000Edsregcmd /statusGet-TpmHow this guide is organised: Symptoms → Why it happens → How to fix it → Verify the fix → Key takeawaysFlow diagram of the article's sections in reading order: 1. Symptoms. 2. Why it happens. 3. How to fix it. 4. Verify the fix. 5. Key takeaways. Toolbox: 0x801C03ED, 0xC00000BB, 0x801C000E, dsregcmd /status, Get-Tpm.1Symptoms2Why it happens3How to fix it4Verify the fix5Key takeawaysTOOLBOX0x801C03ED0xC00000BB0x801C000Edsregcmd /statusGet-Tpm
At a glance: how this guide is organised · 5 sections · 5 key tools

Symptoms#

  • The PIN setup wizard fails and shows one of these codes (the descriptions are Microsoft's):
Text
0x801C03ED Multi-factor authentication is required for a 'ProvisionKey' operation, but wasn't performed.
0x801C000E Registration quota reached.
0x801C03F2 Windows Hello key registration failed.
0x801C044D Authorization token doesn't contain device ID.
0x80090035 Policy requires TPM and the device doesn't have TPM.
0x80090029 TPM isn't set up.
  • A user who already has a PIN can't sign in with it: 0xC00000BB Your PIN or this option is temporarily unavailable.
  • No PIN prompt appears after sign-in, and Applications and Services Logs › Microsoft › Windows › User Device Registration › Admin holds a warning like this one, posted by an admin on Microsoft Q&A from a PC where the user hadn't signed in with Microsoft Entra credentials:
Text
Event ID 360
Windows Hello for Business provisioning will not be launched.
Device is AAD joined ( AADJ or DJ++ ): Not Tested
User has logged on with AAD credentials: No
Windows Hello for Business policy is enabled: Not Tested
Windows Hello for Business post-logon provisioning is enabled: Not Tested
Local computer meets Windows hello for business hardware requirements: Not Tested
User is not connected to the machine via Remote Desktop: Yes
User certificate for on premise auth policy is enabled: Not Tested
Machine is governed by none policy.
Cloud trust for on premise auth policy is enabled: Not Tested
User account has Cloud TGT: Not Tested

Why it happens#

At every sign-in Windows runs a prerequisite check. If it passes, provisioning starts: the user completes MFA and creates a PIN, and a key pair is generated (in the TPM when available) and registered with Microsoft Entra ID. A failed prerequisite gives you Event 360 and no prompt; a later failure gives you a wizard code. In Event 360, the line that reads No is the one to fix; Not Tested means that check wasn't evaluated. Each line maps to a field in the Ngc Prerequisite Check section of dsregcmd /status:

Event 360 linedsregcmd fieldUsual cause when it fails
Device is AAD joinedIsDeviceJoinedJoin incomplete
User has logged on with AAD credentialsIsUserAzureADLocal account, or no Primary Refresh Token (AzureAdPrt : NO)
Windows Hello for Business policy is enabledPolicyEnabledPolicy missing or disabled by another source
Post-logon provisioning is enabledPostLogonEnabledA policy suppresses automatic provisioning (DisablePostLogonProvisioning, "Do not start Windows Hello provisioning after sign-in" in Group Policy)
Meets hardware requirementsDeviceEligibleTPM required by policy but missing or not ready
Not connected via Remote DesktopSessionIsNotRemoteRDP session; provisioning needs the console
Cloud trust policy / Cloud TGTOnPremTGT (CloudTGT before Windows 11 23H2)Cloud Kerberos trust on, but no partial TGT for the user's domain

The wizard codes point to different layers:

CodeWhat it usually meansFix
0x801C03EDMFA wasn't completed, the token was missing, or the user isn't allowed to join devicesGive the user a usable MFA method (a Temporary Access Pass for new starters), allow them to join devices in Entra Device settings, sign out and in
0x801C000EThe user hit the Entra "maximum number of devices per user" limitDelete stale devices or raise the limit in Device settings
0x801C03F2Directory error; Microsoft documents a duplicate proxyAddresses valueFix the sync conflict; mail must match the primary SMTP proxy address
0x801C044DDevice identity or user token problemCheck network and credentials, sign out and in; if the token still has no device ID, Microsoft's fix is to unjoin and rejoin
0x80090035, 0x80090029Policy requires a TPM (the tenant-wide Use a Trusted Platform Module (TPM) defaults to Required) and it's absent, disabled or not set upEnable the TPM in firmware or run Prepare the TPM in tpm.msc; drop the TPM requirement only as a deliberate security decision
0xC00000BBThe domain controller can't support the sign-in method: usually a missing KDC certificate or an unreachable CRL (key and certificate trust)Fix domain controller certificates, or move to cloud Kerberos trust

How to fix it#

  1. Capture the evidence: the wizard code, and the newest Event 360 in the User Device Registration Admin log.
  2. Run dsregcmd /status as the user (not elevated). Check AzureAdJoined, AzureAdPrt, NgcSet and the Ngc Prerequisite Check. Fix join problems first; see hybrid join troubleshooting and PRT troubleshooting.
  3. Check the TPM if DeviceEligible is NO or you see a 0x8009 code: Get-Tpm should show TpmPresent and TpmReady as True. Clearing a TPM wipes its keys; make sure the BitLocker recovery key is escrowed first.
  4. Use one policy source. Windows Hello for Business can come from the tenant-wide policy (Devices › Enrollment, Windows tab, Windows Hello for Business), from settings catalog or Endpoint security › Account protection profiles, and from Group Policy. Make the tenant-wide policy and your profiles agree, and remember the tenant-wide policy applies only at enrollment, so changing it doesn't touch enrolled devices. If a device also gets Windows Hello settings from Group Policy, the conflicting MDM settings aren't applied until the Group Policy settings are cleared; MDMWinsOverGP covers the Policy CSP, not the PassportForWork CSP, so it won't help. Find stray settings with:
    PowerShell
    # Group Policy source (should be empty when Intune manages Windows Hello)
    reg query "HKLM\SOFTWARE\Policies\Microsoft\PassportForWork" /s
    reg query "HKCU\SOFTWARE\Policies\Microsoft\PassportForWork" /s
    # MDM source (one subkey per tenant ID)
    reg query "HKLM\SOFTWARE\Microsoft\Policies\PassportForWork" /s
    # Which GPO sets it?
    gpresult /h "$env:USERPROFILE\Desktop\gp.html"
    For conflicts between Intune profiles, use the MDM diagnostic report as described in finding Intune policy conflicts.
  5. Fix the code-specific cause from the table above.
  6. Reset and retry. Provisioning is evaluated at the next sign-in, so sign out and back in. For a damaged container (0x8009000F "The container or key already exists", 0x80090011 "The container or key wasn't found"), run certutil.exe -deletehellocontainer as the user and sign out; it deletes the user's Windows Hello container on that device, so they set Windows Hello up again (Microsoft's documented fix for both codes is unjoin and rejoin). For 0x801C0451, delete the token broker files under %LOCALAPPDATA%\Packages\Microsoft.AAD.BrokerPlugin_cw5n1h2txyewy\AC\TokenBroker\Accounts and reboot. Unjoin and rejoin is Microsoft's catch-all mitigation, but on an Intune device it usually means re-enrolling: keep it for last.

Verify the fix#

  • Before the PIN prompt, the User Device Registration log shows Event 358 (Windows Hello for Business provisioning will be launched) and dsregcmd shows PreReqResult : WillProvision.
  • After setup, dsregcmd /status shows NgcSet : YES with an NgcKeyId under User State, and AzureAdPrt : YES under SSO State. With cloud Kerberos trust, expect OnPremTgt : YES too.
  • On hybrid devices, klist after a PIN sign-in lists a krbtgt ticket for your AD realm.

Tip: 0xCAA30193 (HTTP 403) means a server, proxy or firewall refused the request. Test from a network without TLS inspection before changing policy.

Key takeaways#

  • No prompt means a prerequisite failed (read Event 360); a wizard code means provisioning started (use the code table).
  • Configure Windows Hello for Business from one source and set the tenant-wide enrollment setting deliberately.
  • Pre-register MFA, clean up stale devices, and check Get-Tpm before you require a security device.

References#

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)