IntuneDeep dive

Windows Hello for Business error codes: PIN creation, provisioning and sign-in errors

Look up a Windows Hello for Business failure: PIN creation codes (0x8009…, 0x801C…), provisioning events 358, 360 and 362, and sign-in errors, with the cause and first check.

Windows Hello for Business fails in three places: the prerequisite check before provisioning (no PIN prompt, just Event 360), the Create a PIN step (a code such as 0x801C03ED or 0x80090036), and later at sign-in or PIN reset. This reference lists the codes and messages Microsoft documents for each, with the meaning, the usual cause on an Intune-managed PC and the first check. For a step-by-step fix of the common provisioning failures, see Windows Hello for Business provisioning errors in Intune.

Codes in this quick reference

  • Event ID 358: Windows Hello for Business provisioning will be launched. (prerequisites passed)Event Viewer (User Device Registration/Admin)
  • Event ID 360: Windows Hello for Business provisioning will not be launched.Event Viewer (User Device Registration/Admin)
  • Event ID 362: Windows Hello for Business provisioning will not be launched. (enterprise STS: No)Event Viewer (User Device Registration/Admin)
  • 0x80090005 NTE_BAD_DATAWindows Hello PIN setup
  • 0x8009000F The container or key already exists.Windows Hello PIN setup
  • 0x80090011 The container or key wasn't found.Windows Hello PIN setup
  • 0x80090029 TPM isn't set up.Windows Hello PIN setup
  • 0x8009002A NTE_NO_MEMORYWindows Hello PIN setup

+ 39 more codes in the tables below.

How this guide is organized: How to read these codes → Provisioning events → PIN creation codes with a documented fix → Codes Microsoft lists without a mitigation → Sign-in and PIN reset errors → How to verify a fixFlow diagram of the article's sections in reading order: 1. How to read these codes. 2. Provisioning events. 3. PIN creation codes with a documented fix (3 parts: TPM and key storage (0x8009…); Device registration and federation (0x801C00…); Key registration and tokens (0x801C03…, 0x801C04…)). 4. Codes Microsoft lists without a mitigation. 5. Sign-in and PIN reset errors. 6. How to verify a fix. Toolbox: 0x801C03ED, 0x80090036, 0xCAA30193, dsregcmd /status, tpm.msc.1How to read these codes2Provisioning events3PIN creation codes with adocumented fixTPM and key storage(0x8009…)Device registration andfederation (0x801C00…)Key registration andtokens (0x801C03…, 0x…4Codes Microsoft lists withouta mitigation5Sign-in and PIN reset errors6How to verify a fixTOOLBOX0x801C03ED0x800900360xCAA30193dsregcmd /statustpm.mscHow this guide is organized: How to read these codes → Provisioning events → PIN creation codes with a documented fix → Codes Microsoft lists without a mitigation → Sign-in and PIN reset errors → How to verify a fixFlow diagram of the article's sections in reading order: 1. How to read these codes. 2. Provisioning events. 3. PIN creation codes with a documented fix (3 parts: TPM and key storage (0x8009…); Device registration and federation (0x801C00…); Key registration and tokens (0x801C03…, 0x801C04…)). 4. Codes Microsoft lists without a mitigation. 5. Sign-in and PIN reset errors. 6. How to verify a fix. Toolbox: 0x801C03ED, 0x80090036, 0xCAA30193, dsregcmd /status, tpm.msc.1How to read these codes2Provisioning events3PIN creation codes with a documented fixTPM and key storage (0x8009…)Device registration and federation (0x801C00…)Key registration and tokens (0x801C03…,0x801C04…)4Codes Microsoft lists without a mitigation5Sign-in and PIN reset errors6How to verify a fixTOOLBOX0x801C03ED0x800900360xCAA30193dsregcmd /statustpm.msc
At a glance: how this guide is organized · 3 steps · 5 key settings and tools

How to read these codes#

Where Windows Hello for Business provisioning breaksDoes the Create a PIN step appear after sign-in? if No: Read event 360 or 362 for the failed check (Each prerequisite shows Yes, No or Not Tested; dsregcmd /status mirrors it.); if Yes, with a code: Which prefix does the code have? if 0x8009…: Key storage or TPM problem (Get-Tpm should show TpmPresent and TpmReady as True.); if 0x801C…: Device or key registration with Entra ID (For example 0x801C03ED: MFA wasn't performed for ProvisionKey.); if 0xCAA30193: HTTP 403 from a server, proxy or firewall (No documented mitigation: work the ladder, then contact support.)Does the Create a PIN stepappear after sign-in?FIXRead event 360 or 362for the failed checkEach prerequisite showsYes, No or Not Tested;dsregcmd /status mirrors it.NoWhich prefix does the codehave?FIXKey storage or TPMproblemGet-Tpm should showTpmPresent and TpmReadyas True.0x8009…FIXDevice or keyregistration with EntraIDFor example 0x801C03ED:MFA wasn't performed forProvisionKey.0x801C…STOPHTTP 403 from aserver, proxy or firewallNo documented mitigation:work the ladder, thencontact support.0xCAA30193Yes, with a codeWhere Windows Hello for Business provisioning breaksDoes the Create a PIN step appear after sign-in? if No: Read event 360 or 362 for the failed check (Each prerequisite shows Yes, No or Not Tested; dsregcmd /status mirrors it.); if Yes, with a code: Which prefix does the code have? if 0x8009…: Key storage or TPM problem (Get-Tpm should show TpmPresent and TpmReady as True.); if 0x801C…: Device or key registration with Entra ID (For example 0x801C03ED: MFA wasn't performed for ProvisionKey.); if 0xCAA30193: HTTP 403 from a server, proxy or firewall (No documented mitigation: work the ladder, then contact support.)Does the Create a PIN step appear aftersign-in?NoFIXRead event 360 or 362 for the failed checkEach prerequisite shows Yes, No or Not Tested;dsregcmd /status mirrors it.Yes, with a codeWhich prefix does the code have?0x8009…FIXKey storage or TPM problemGet-Tpm should show TpmPresent andTpmReady as True.0x801C…FIXDevice or key registration with Entra IDFor example 0x801C03ED: MFA wasn'tperformed for ProvisionKey.0xCAA30193STOPHTTP 403 from a server, proxy or firewallNo documented mitigation: work the ladder, thencontact support.
Figure 1 · Decision tree Where Windows Hello for Business provisioning breaks. If Group Policy also configures Windows Hello for Business, it wins over Intune. For PIN errors, try again, sign out and in, and restart before you rejoin.
  • Prerequisite check. Provisioning starts after the user profile loads, before the desktop appears, and only if every prerequisite passes. The result is logged in Applications and Services Logs › Microsoft › Windows › User Device Registration › Admin: event 358 when provisioning will launch, 360 (or 362 in certificate trust) when it won't, with one line per prerequisite marked Yes, No or Not Tested.
  • dsregcmd. Run dsregcmd /status as the user, not elevated. The Ngc Prerequisite Check section mirrors the event (IsDeviceJoined, IsUserAzureAD, PolicyEnabled, PostLogonEnabled, DeviceEligible, SessionIsNotRemote, PreReqResult) and may disappear once Windows Hello is set up; User State then shows NgcSet : YES and an NgcKeyId.
  • The PIN wizard. Failures after the prerequisites pass show a code on the Create a PIN screen. 0x8009… codes come from key storage and the TPM, and 0x801C… from device registration and key registration with Microsoft Entra ID. 0xCAA30193 is an HTTP 403 (0x193 is 403) returned by a server, proxy or firewall.

Microsoft's general ladder for wizard errors: try again (some are transient), sign out and back in, restart, and only then unjoin and rejoin the device (Settings › System › About › Disconnect from organization). On an Intune device rejoining means re-enrolling, so keep it for last. If both Group Policy and Intune configure Windows Hello for Business, Group Policy wins and the Intune settings are ignored (Microsoft Learn).

PowerShell
dsregcmd /status    # as the signed-in user, not elevated
Get-WinEvent -LogName 'Microsoft-Windows-User Device Registration/Admin' -MaxEvents 100 |
    Where-Object Id -in 358, 360, 362 | Select-Object TimeCreated, Id, Message -First 3
Get-Tpm             # elevated: TpmPresent and TpmReady should be True

Provisioning events#

EventMeaningUsual causeFirst check
358Windows Hello for Business provisioning will be launched.All prerequisites passed (informational)If no prompt follows, look for a wizard code
360Windows Hello for Business provisioning will not be launched.A prerequisite line reads No: not joined, not signed in with Entra credentials, policy off, hardware not eligible, or a remote sessionThe line marked No (Event 360 explained)
362Windows Hello for Business provisioning will not be launched. (Warning) with User has successfully authenticated to the enterprise STS: NoCertificate trust with AD FS: device authentication to AD FS fails (a newly joined device can need time)AD FS/Admin event 1021 with MSIS9368 for scope ugs: on AD FS 2019, add the ugs scope

PIN creation codes with a documented fix#

TPM and key storage (0x8009…)#

CodeMeaningUsual causeFirst check
0x80090005NTE_BAD_DATADamaged key dataMicrosoft's fix: unjoin and rejoin
0x8009000FThe container or key already exists.A leftover Windows Hello containerUnjoin and rejoin; many admins first try certutil.exe -deleteHelloContainer as the user, then sign out
0x80090011The container or key wasn't found.Missing or damaged containerAs for 0x8009000F
0x80090029TPM isn't set up.TPM not initializedAs an administrator, tpm.msc › Prepare the TPM
0x8009002ANTE_NO_MEMORYLow memoryClose programs and retry
0x80090031NTE_AUTHENTICATION_IGNOREDTPM problemRestart; if it recurs, reset the TPM (Clear-TPM) after confirming the BitLocker recovery key is escrowed
0x80090035Policy requires TPM and the device doesn't have TPM.A TPM-required policy on a device without a usable TPMEnable the TPM in firmware, or relax the TPM requirement deliberately
0x80090036User canceled an interactive dialog.The user closed a promptAsk the user to try again

Device registration and federation (0x801C00…)#

CodeMeaningUsual causeFirst check
0x801C0003User isn't authorized to enroll.The user lacks permission for the operationWho may join or register devices in Microsoft Entra device settings
0x801C000ERegistration quota reached.Too many devices for this userRemove stale devices or raise the maximum number of devices per user
0x801C000FOperation successful, but the device requires a reboot.Pending restartRestart
0x801C0010The AIK certificate isn't valid or trusted.TPM attestation certificate problemSign out and back in
0x801C0011The attestation statement of the transport key is invalid.Attestation problemSign out and back in
0x801C0012Discovery request isn't in a valid format.Discovery problemSign out and back in
0x801C0015The device is required to be joined to an Active Directory domain.An on-premises deployment on a device that isn't domain joinedJoin the device to the domain
0x801C0016The federation provider configuration is emptyFederation configuration problemhttp://clientconfig.microsoftonline-p.net/FPURL.xml isn't empty
0x801C0017The federation provider domain is emptyAs aboveThe FPDOMAINNAME element in that file
0x801C0018The federation provider client configuration URL is emptyAs aboveThe CLIENTCONFIG element holds a valid URL

Key registration and tokens (0x801C03…, 0x801C04…)#

CodeMeaningUsual causeFirst check
0x801C03E9Server response message is invalidBad response from the registration serviceSign out and back in
0x801C03EAServer failed to authorize user or device.Invalid token, or the user can't register keysToken validity and the user's right to register Windows Hello keys
0x801C03EBServer response http status isn't validUnexpected HTTP statusSign out and back in
0x801C03ECUnhandled exception from server.Service-side errorSign out and back in
0x801C03EDMulti-factor authentication is required for a 'ProvisionKey' operation, but wasn't performed. (also: token not found, invalid request, or no permission to join Microsoft Entra ID)No MFA claim in the sign-in, or users not allowed to join devicesSign out and in with MFA; allow users to join in Microsoft Entra device settings
0x801C03EEAttestation failed.TPM attestationSign out and back in
0x801C03EFThe AIK certificate is no longer valid.Expired attestation certificateSign out and back in
0x801C03F2Windows Hello key registration failed.ERROR_BAD_DIRECTORY_REQUEST: another object has the same proxyAddresses valueFix the duplicate attribute; Mail must match the primary SMTP address
0x801C044DAuthorization token doesn't contain device ID.The device identity is missing from the tokenMicrosoft's fix: unjoin and rejoin
0x801C044EFailed to receive user credentials input.Credential prompt didn't completeSign out and back in
0x801C0451User token switch account.Stale Web Account Manager token cacheDelete %LOCALAPPDATA%\Packages\Microsoft.AAD.BrokerPlugin_cw5n1h2txyewy\AC\TokenBroker\Accounts contents and restart

Codes Microsoft lists without a mitigation#

Microsoft's advice for these is to contact support. Work through the general ladder first and collect dsregcmd /status output and the User Device Registration log for the case.

CodeMeaningUsual causeFirst check
0x80090020NTE_FAILGeneric key storage failureGet-Tpm; TPM firmware updates
0x8009002DNTE_INTERNAL_ERRORInternal key storage errorAs above
0x801C0001ADRS server response isn't in a valid format.Registration service response damagedProxy or TLS inspection on enterpriseregistration.windows.net
0x801C000CDiscovery failed.Registration service discovery failedNetwork path (DNS, proxy) to enterpriseregistration.windows.net
0x801C0013Tenant ID isn't found in the token.Token problemAzureAdPrt under SSO State
0x801C0014User SID isn't found in the token.Token problemAs above
0x801C001BThe device certificate isn't found.Device identity damagedDeviceCertificateValidity and DeviceAuthStatus in dsregcmd
0x801C004DDSREG_NO_DEFAULT_ACCOUNT: no default WAM account for the Entra tokenThe user has no default Web Account Manager accountWamDefaultSet : YES and a PRT (PRT troubleshooting)
0x801C03F0There's no key registered for the user.Key missing in Microsoft Entra IDNgcSet and NgcKeyId; provision again
0x801C03F1There's no UPN in the token.Not signed in with an Entra accountIsUserAzureAD in dsregcmd
0xCAA30193HTTP 403 Request ForbiddenThe request left the device; a server, proxy or firewall refused itProxy and firewall rules for Microsoft Entra sign-in endpoints

Sign-in and PIN reset errors#

ErrorMeaningUsual causeFirst check
0xC00000BB Your PIN or this option is temporarily unavailable.The domain controller doesn't support the sign-in methodMost often the KDC lacks a suitable certificate; or the client can't check the KDC certificate's CRLDomain controller certificates and CRL reachability; sign in another way meanwhile
That option is temporarily unavailable. For now, please use a different method to sign in.Hybrid key trust sign-in failedThe key hasn't synced to msDS-KeyCredentialLink yet; or domain controllers with known bugsWait for the next Entra Connect sync; patch Windows Server 2016 (KB4593226) and 2019 (KB4592440) DCs
We can't open that page right nowPIN reset blocked on an Entra joined deviceThe reset flow tried to open a federated identity provider page outside the allowlistAdd the domains with the ConfigureWebSignInAllowedUrls policy
Event 107 The Kerberos client received a KDC certificate that does not have a matched domain name.On-premises access fails from an Entra joined device (key trust)Domain controller certificates from a non-Microsoft CAThe DC certificate needs its distinguished name in the subject, or a SAN with the DC FQDN, domain DNS name and NetBIOS name (the log is off by default)

Tip: On-premises single sign-on with cloud Kerberos trust is covered in deploying cloud Kerberos trust with Intune; there, OnPremTgt : YES under SSO State is the sign of a working setup.

How to verify a fix#

  1. Sign out and back in: the prerequisite check runs at sign-in, and event 358 should replace 360 or 362.
  2. Complete Create a PIN, then run dsregcmd /status as the user: NgcSet : YES with an NgcKeyId under User State and AzureAdPrt : YES under SSO State.
  3. Lock the device and sign in with the PIN. For hybrid key trust, test again after the next Entra Connect sync.

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)