HomeNewsletterCommunityMVP FeedToolsArchiveBlogToday's NewsAboutServicesQuick Links Subscribe free
← Back to Blog
Windows Hello for Business Windows Hello for BusinessWHfBEvent ViewerIntuneEntra IDTroubleshooting

Event ID 360: Every Prerequisite That Blocks Windows Hello for Business Provisioning

IA
Imran Awan
17 September 2026

The Windows Hello for Business provisioning prompt never appears. No error. No toast. The user just never gets asked to set up a PIN. You check Event Viewer and find Event ID 360 in Microsoft-Windows-User Device Registration/Admin: "Windows Hello for Business provisioning will not be launched." Then comes a list of prerequisites — some yes, some no — and one of those failed lines is the entire reason provisioning is blocked.

Event 360 is the most actionable event in the WHfB troubleshooting toolkit because it tells you exactly which condition failed. The message body has up to a dozen distinct prerequisite lines, each with its own cause and fix. This post goes through every one of them.

The short version

Event ID 360 fires in Microsoft-Windows-User Device Registration/Admin every time WHfB provisioning is evaluated and blocked. One or more prerequisites show No in the event message. Each No maps to a specific cause. Fix the cause, wait for the next evaluation cycle, and provisioning launches automatically — you get Event 362 when it succeeds.

The problem: WHfB provisioning silently blocked

When a user signs into a device that meets WHfB requirements, Windows evaluates a set of prerequisites in the background. If all are met, it launches the provisioning flow — the "Set up a PIN" prompt appears. If any prerequisite fails, Windows logs Event 360 and silently exits without showing anything to the user.

The user experience is identical whether provisioning was never attempted or was blocked: the Sign-in options page still shows "Windows Hello is not set up" and no prompt ever appears. Without checking Event Viewer, there is no way to know the evaluation happened and failed.

⚠ Warning: Do not add the user to a new group or change a policy and wait indefinitely. WHfB provisioning re-evaluates at user sign-in. If the user is already signed in, they must sign out and back in — or wait for the next evaluation interval — before the fix takes effect. Event 360 re-fires on every evaluation attempt until all prerequisites are met.

How to find Event 360 in Event Viewer and PowerShell

Option 1 — Event Viewer (GUI)

Open Event Viewer and navigate to the User Device Registration log. This is not a standard Windows Logs path — it lives under Applications and Services Logs:

Event Viewer Applications and Services Logs Microsoft Windows User Device Registration Admin

Filter for Event ID 360. The most recent entry is the one to read first — it reflects the current state. The General tab in the bottom pane shows the full prerequisite list. On Windows 11 24H2 and later, the lines use plain English descriptions. On older builds they use technical field names like IsAzureAdJoined. The meaning is the same.

Here is Event 360 captured from a Hybrid-joined Windows 11 device. The blocked lines are immediately visible — post-logon provisioning is disabled and the user signed in with domain credentials rather than Entra credentials:

Event 360, User Device Registration
General Details
Windows Hello for Business provisioning will not be launched.
Device is Microsoft Entra joined (or hybrid joined): Yes
User has logged on with Microsoft Entra credentials: No
Windows Hello for Business policy is enabled: Yes
Windows Hello for Business post-logon provisioning is enabled: No
Local computer meets Windows Hello for business hardware requirements: Yes
User is not connected to the machine via Remote Desktop: Yes
User certificate for on premise auth policy is enabled: No
Machine is governed by none policy.
Cloud trust for on premise auth policy is enabled: Yes
User account has Cloud to OnPrem TGT: Not Tested
See https://go.microsoft.com/fwlink/?linkid=832647 for more details.
Log Name: Microsoft-Windows-User Device Registration/Admin
Source: User Device Registration
Event ID: 360
Logged: 9/17/2026 9:54:06 AM
Level: Warning
Computer: CORP-PC-01
User: SYSTEM
OpCode: Info
📋 Note: On Windows 11 24H2 and 25H2, the prerequisite lines use plain English. On Windows 10 and older Windows 11 builds they use technical field names like IsAzureAdJoined, HasValidPrimaryRefreshToken, etc. The meaning is identical — only the label format changed.

Option 2 — PowerShell (faster for remote or bulk)

This command pulls the last 5 Event 360 entries and colour-codes each prerequisite line so No values stand out immediately:

Get-WHfBEvent360.ps1
# Run as the signed-in user (not SYSTEM)
$events = Get-WinEvent -LogName 'Microsoft-Windows-User Device Registration/Admin' |
    Where-Object { $_.Id -eq 360 } |
    Select-Object -First 5

foreach ($e in $events) {
    Write-Host "=== Event 360 @ $($e.TimeCreated.ToString('yyyy-MM-dd HH:mm:ss')) ===" -ForegroundColor Cyan
    $e.Message -split "\`n" | ForEach-Object {
        $line = $_.Trim()
        if (-not $line) { return }
        if     ($line -match ': No$')   { Write-Host "  $line" -ForegroundColor Red   }
        elseif ($line -match ': Yes$')  { Write-Host "  $line" -ForegroundColor Green }
        else                            { Write-Host "  $line" -ForegroundColor Gray  }
    }
}
PowerShell output — Event 360 colour-coded
=== Event 360 @ 2026-09-17 09:54:06 ===
  Windows Hello for Business provisioning will not be launched.
  Device is Microsoft Entra joined (or hybrid joined): Yes
  User has logged on with Microsoft Entra credentials: No
  Windows Hello for Business policy is enabled: Yes
  Windows Hello for Business post-logon provisioning is enabled: No
  Local computer meets Windows Hello for business hardware requirements: Yes
  User is not connected to the machine via Remote Desktop: Yes
  User certificate for on premise auth policy is enabled: No
  Machine is governed by none policy.
  Cloud trust for on premise auth policy is enabled: Yes
  User account has Cloud to OnPrem TGT: Not Tested

Primary blockers: no Entra sign-in (no PRT) + post-logon provisioning disabled by policy.

Every prerequisite line decoded

Work through the cards below in order. Fix the first red item — lower ones often resolve automatically once a foundational prerequisite is met. Cards with an amber border are context-dependent: failing them may not be a real blocker depending on your deployment model.

Device is Microsoft Entra joined (or hybrid joined)
IsAzureAdJoined
Expected: Yes
When this shows No / fails
The device has not registered with Entra ID at all. WHfB cannot provision without an Entra device identity.
Fix
Run dsregcmd /status — if AzureAdJoined: NO, the Entra join failed. Re-run Autopilot, or re-join via Settings › Accounts › Access work or school.
User has logged on with Microsoft Entra credentials
HasValidPrimaryRefreshToken / AzureAdPrt
Expected: Yes
When this shows No / fails
The user signed in with domain or local credentials — no Primary Refresh Token was issued. The most common blocker on Hybrid-joined devices where the user habitually signs in with a password.
Fix
User must sign in interactively with their Entra/work account. Run dsregcmd /refreshprt to force a refresh. Confirm with dsregcmd /statusAzureAdPrt: YES.
Windows Hello for Business policy is enabled
IsProvisioningAllowed
Expected: Yes
When this shows No / fails
No WHfB policy is reaching this device, or a policy is explicitly disabling it. Often paired with "Machine is governed by none policy" — both appear together when no policy has arrived.
Fix
Assign a WHfB configuration profile in Intune. Via GPO: Computer Configuration › Admin Templates › Windows Components › Windows Hello for Business › Use Windows Hello for Business must be Enabled. Run gpresult /h c:\gpresult.html to confirm.
Windows Hello for Business post-logon provisioning is enabled
(Windows 11 24H2+ only)
Expected: Yes
When this shows No / fails
Post-logon provisioning is disabled. WHfB will not prompt the user even if the policy is otherwise configured — provisioning is gated at sign-in and the gate is closed.
Fix
In the Intune WHfB profile, set "Configure Windows Hello for Business" to Enabled (not Disabled or Not configured). Confirm the profile is assigned and the device is in scope in Intune.
Machine is governed by none policy
(Windows 11 24H2+ only)
Should name a policy
When this shows No / fails
"none policy" means no WHfB policy object has arrived — not that policy is disabled. The device has never received a profile. This is different from "policy is disabled".
Fix
Check Intune assignment filters and confirm the device is in the assigned group. Force a sync: Settings › Accounts › Access work or school › Info › Sync. For GPO: run gpupdate /force then check gpresult /r.
Local computer meets Windows Hello for Business hardware requirements
IsTpmPresent / TPM check
Expected: Yes
When this shows No / fails
TPM 2.0 is not present, disabled in firmware, or not in a ready state. This will never pass on a device without a functioning TPM.
Fix
Check tpm.msc. On VMs: enable TPM 2.0 in Hyper-V or VMware settings. On physical devices: check BIOS/UEFI and enable TPM. On Azure VMs: use vTPM-enabled VM generations.
User is not connected to the machine via Remote Desktop
IsRemoteSession (inverted)
Expected: Yes
When this shows No / fails
The user is in an RDP session. WHfB provisioning is blocked by design during remote sessions — the credential gesture cannot be registered over RDP.
Fix
The user must be at the physical console session. Sign out of RDP and sign in locally, then provisioning will run at next logon.
User certificate for on premise auth policy is enabled
IsOnPremAuthCertEnabled
Context-dependent
When this shows No / fails
No is expected on Cloud Kerberos Trust and Key Trust deployments — do not treat this as a blocker. Only a failure on Certificate Trust deployments where a user cert is required.
Fix
Cloud Kerberos Trust / Key Trust: ignore this No entirely. Certificate Trust: verify the certificate enrollment policy is configured and ADFS is issuing certificates correctly.
Cloud trust for on premise auth policy is enabled
CloudTrustEnabled
Context-dependent
When this shows No / fails
Cloud Kerberos Trust is not configured. Only a blocker if your Hybrid deployment uses Cloud Kerberos Trust. Not required for Entra-only devices.
Fix
In Intune or GPO, enable "Use cloud trust for on-premises authentication" under Windows Hello for Business policies. Verify dsregcmd /status shows CloudTgt: YES after sign-in.
User account has Cloud to OnPrem TGT
(24H2+ Cloud Kerberos Trust only)
Not Tested → Yes
When this shows No / fails
"Not Tested" is normal before first provisioning — not a blocker. If it shows No after provisioning, the Cloud to OnPrem Kerberos ticket request failed and on-prem SSO will break.
Fix
Check DC health and Kerberos RODC password replication. Run klist after sign-in to confirm Kerberos tickets are being issued for on-prem resources.
NGC is not explicitly disabled
IsNGCExplicitlyDisabled
Expected: No (not disabled)
When this shows No / fails
NGC — the underlying Windows Hello credential subsystem — is explicitly turned off by a registry policy. The field name is inverted: No = good, Yes = blocked.
Fix
Check HKLM\SOFTWARE\Policies\Microsoft\PassportForWork for Enabled = 0. Often left by a legacy GPO. Set to 1 or delete the key. Use gpresult to find which GPO owns it.
⚠ Gotcha — "Machine is governed by none policy": This line is the clearest sign that no WHfB policy has reached the device. It is different from "policy is disabled" — it means no policy object arrived at all. Check Intune assignment filters, confirm the device is in the assigned group, and force a sync. On Hybrid-joined devices, also check Group Policy: run gpresult /r and confirm you see a WHfB policy in the Applied GPOs list.

The fix: force provisioning to re-evaluate after resolving a prerequisite

WHfB provisioning re-evaluates automatically at the next user sign-in. If the user is already signed in when you fix a prerequisite, they must sign out and sign back in. There is no "trigger now" button from the admin side.

Fix 1 — User signed in with domain credentials (most common on Hybrid)

The user must sign out and sign back in using their work/Entra account. Then verify a PRT was issued:

Check-PRT.ps1 — run as the signed-in user
# Force Entra to issue a new PRT for the current user
dsregcmd /refreshprt

Start-Sleep -Seconds 25

# Check whether a PRT was issued
$prt = (dsregcmd /status | Select-String 'AzureAdPrt\s*:').Line
Write-Host $prt -ForegroundColor (if ($prt -match 'YES') { 'Green' } else { 'Red' })
# If still NO: device cannot reach Entra ID. Check network, VPN, Conditional Access.

Fix 2 — No policy reaching the device

Force a policy sync and confirm the WHfB profile has applied:

Force-PolicySync.ps1 — admin required for gpupdate
# Force Intune MDM sync
Get-ScheduledTask | Where-Object { $_.TaskName -eq 'PushLaunch' } | Start-ScheduledTask

# Force Group Policy refresh (Hybrid only)
gpupdate /force

# Confirm WHfB policy arrived via registry
Get-ItemProperty 'HKLM:\SOFTWARE\Policies\Microsoft\PassportForWork' -ErrorAction SilentlyContinue
# Enabled = 1 means policy arrived and WHfB is on
# Key absent = Not Configured (policy not reaching device yet)
# Enabled = 0 = policy arrived but WHfB is explicitly disabled

Reading dsregcmd /status — what healthy looks like

Run dsregcmd /status as the signed-in user to confirm the join state. On a healthy Hybrid-joined device you should see both AzureAdJoined: YES and DomainJoined: YES:

Windows PowerShell
C:\Users\user>dsregcmd /status
+------------------------------------------------------------------------+
| Device State |
+------------------------------------------------------------------------+
AzureAdJoined : YES
EnterpriseJoined : NO
DomainJoined : YES
DomainName : CORP
Virtual Desktop : NOT SET
Device Name : CORP-PC-01

The User State section confirms WHfB is enrolled: NgcSet: YES means the NGC container exists and Windows Hello for Business keys are provisioned for this user:

Windows PowerShell
+------------------------------------------------------------------------+
| User State |
+------------------------------------------------------------------------+
NgcSet : YES
NgcKeyId : {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
CanReset : DestructiveAndNonDestructive
WorkplaceJoined : NO
WamDefaultSet : YES
WamDefaultAuthority : organizations
WamDefaultId : https://login.microsoft.com
WamDefaultGUID : {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} (AzureAd)

The SSO State section confirms the Primary Refresh Token is valid and Cloud Kerberos Trust is working — both required for WHfB provisioning to succeed on a Hybrid-joined device:

Windows PowerShell
+------------------------------------------------------------------------+
| SSO State |
+------------------------------------------------------------------------+
AzureAdPrt : YES
AzureAdPrtUpdateTime : 2026-09-17 09:01:11.000 UTC
AzureAdPrtExpiryTime : 2026-10-01 09:01:10.000 UTC
AzureAdPrtAuthority : https://login.microsoftonline.com/{tenant-id}
EnterprisePrt : NO
EnterprisePrtAuthority :
OnPremTgt : YES
CloudTgt : YES
KerbTopLevelNames : .windows.net,.windows.net:1433,.azure.net,.azure.net:1433

Proof it worked: Event 362

After the user signs out and back in following your fix, watch for Event ID 362 in the same log. Event 362 means provisioning completed successfully and the NGC container was created.

Event Viewer — Microsoft-Windows-User Device Registration/Admin
Event ID: 362
Level: Information
Source: User Device Registration
Logged: 9/17/2026 10:12:44 AM
✓ Windows Hello for Business provisioning completed successfully.
Confirm-WHfBEnrolled.ps1
# NgcSet: YES = WHfB enrolled, NGC container created
dsregcmd /status | Select-String 'NgcSet'

# Also check for Event 362 in the last 24 hours
Get-WinEvent -LogName 'Microsoft-Windows-User Device Registration/Admin' |
    Where-Object { $_.Id -eq 362 -and $_.TimeCreated -gt (Get-Date).AddDays(-1) } |
    Select-Object TimeCreated, Message | Format-List
✓ Tip: Once you have resolved the blocking prerequisite, you do not need to push anything from Intune. Windows evaluates the prereqs automatically at each sign-in. The user just needs to sign out and back in. The provisioning prompt (Set up a PIN) appears automatically within the first logon session after all prereqs turn green.

References

Was this post helpful?
React below — no account needed
Share this post
LinkedIn X / Twitter Reddit Bluesky

More from EndpointWeekly

Windows Hello for Business
dsregcmd /status Decoded: The Complete Field Reference for WHfB…
One command answers more WHfB questions than any portal - and its forty-plus fields come…
Windows Hello for Business
The Complete Windows Hello for Business Event ID Catalog (Across…
WHfB logs to three different places with cryptic IDs and no index. This catalog maps…
Windows Hello for Business
Windows Hello for Business Not Working on a Hybrid-Joined Device…
WHfB signs in with a PIN but Event 360 keeps firing? This walkthrough traces the real…