HomeNewsletterCommunityMVP FeedToolsArchiveBlogToday's NewsAboutServicesQuick Links Subscribe free
← Back to Blog

Windows Hello for Business Doesn't Work Over RDP — Here's What Actually Does

IA
Imran Awan
30 July 2026

A user unlocks their laptop with a fingerprint every morning without a second thought. Then they open Remote Desktop Connection to a server, and Windows Hello for Business simply isn't offered as an option — they're back to typing a password, or worse, staring at a credential prompt that rejects everything they try. The instinctive reaction is "this is broken, WHfB should just work here too." It isn't broken. Windows Hello for Business was never designed to authenticate a remote session the way it authenticates the local device, and Microsoft's own documentation is explicit about it. This post explains exactly why, and walks through the two approaches Microsoft actually supports instead.

Watch this post — YouTube walkthrough

Video walkthrough for this post is in production — check back soon, or subscribe at @EndpointWeekly to catch it when it's live.

The problem — a working WHfB gesture, and a remote session that won't accept it

Here's the exact scenario. A device is Microsoft Entra joined, Windows Hello for Business is fully provisioned, and the user signs in every day with face or fingerprint recognition without issue. That same user opens mstsc.exe to connect to another Windows device — a jump box, an on-prem application server, an Azure Virtual Desktop session host — and the Windows Hello gesture that just worked seconds ago is nowhere to be found. Depending on configuration, they either get dropped straight to a standard password prompt, or they see a message stating that the selected credential requires local smart card and Windows Hello for Business devices to be made available to the remote session.

Nobody changed a policy. Nothing broke overnight. This is the default, expected behaviour, because a Windows Hello for Business credential and a remote desktop session are two fundamentally different trust boundaries — and understanding that boundary is the entire key to fixing this properly instead of fighting it.

📋 Note: Microsoft Learn states this limitation directly: you can use Windows Hello for Business on your local device to sign in to a remote session and handle redirected authentication prompts, but it is not supported to enroll into Windows Hello for Business or use Windows Hello for Business for authentication on the remote device itself. The remote session is a different machine, with its own security boundary — your local biometric gesture has no meaning there by default.

Why it happens — the credential is bound to a chip, not to you

A Windows Hello for Business PIN or biometric gesture doesn't authenticate you directly to anything. It unlocks a cryptographic key pair that Windows generated and sealed inside your device's TPM (Trusted Platform Module) — Microsoft's documentation calls this the Microsoft Passport Key Storage Provider (KSP). That private key never leaves the TPM, is never exported, and by design cannot be transmitted anywhere, including to a remote session running on a different physical or virtual machine. Your fingerprint doesn't "log you in" to a remote server. It unlocks a key that only exists, physically, in the chip on the device sitting in front of you.

RDP's standard mechanism for using local credentials on a remote connection is credential redirection — specifically, redirected smart card support. A physical smart card and its PIN can be redirected over an RDP session because the card presents itself to the remote session as a device, and the remote session can query it. A TPM-sealed WHfB key doesn't work that way by default; there's no redirected "TPM device" concept. This is exactly why Microsoft's supported RDP path (covered below) works by making Windows emulate a smart card using a certificate stored in the WHfB container — not by finding some way to project the raw WHfB gesture into the remote session.

What the remote session actually receives — conceptually
Local device (WHfB provisioned) Remote session (RDP target) ----------------------------- ------------------------ TPM-sealed private key -> Never leaves the device, ever Biometric/PIN unlocks LOCAL key -> No equivalent trust anchor exists here Redirected SMART CARD certificate -> This is what actually crosses the wire Remote Credential Guard (Kerberos) -> Ticket exchange only, no credential material sent # The gesture stays local. Only a certificate (smart card emulation) or a # Kerberos ticket (Remote Credential Guard) is what the remote side ever sees.

Both of Microsoft's real, supported approaches follow directly from that constraint: either give the device a certificate it can present as a redirected smart card, or skip credential transmission entirely with a Kerberos-based mechanism that never sends anything resembling a password or key to the remote host.

How to verify — check what your device is actually carrying before you configure anything

Before configuring either fix, confirm the device's current state. Two things matter: whether a redirected-smart-card-capable certificate already exists in the WHfB container, and whether the target device is Active Directory domain-joined or Microsoft Entra joined — because that single fact determines which of the two fixes is even available to you.

Command Prompt — checking for an existing WHfB-backed RDP certificate
C:\> certutil -store -user my my "Personal" ================ Certificate 0 ================ Serial Number: 110000001f4c4eccc46fc8f93a00000000001f Issuer: CN=Contoso - Issuing CA, DC=CONTOSO, DC=COM Subject: CN=amanda.brady@contoso.com Template: 1.3.6.1.4.1.311.21.8.2835349.12167323.7094945... # The line to look for is this one: Provider = Microsoft Passport Key Storage Provider Private key is NOT exportable CertUtil: -store command completed successfully.

If Provider = Microsoft Passport Key Storage Provider appears against a certificate whose Extended Key Usage includes Smart Card Logon (OID 1.3.6.1.4.1.311.20.2.2) and Client Authentication (OID 1.3.6.1.5.5.7.3.2), the device already has what it needs for certificate-based RDP sign-in. If nothing comes back with that provider, no such certificate has been deployed yet.

Registry — remote host setting that enables non-exportable credential delegation (required for Remote Credential Guard / Restricted Admin)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa DisableRestrictedAdmin REG_DWORD 0x0 ← 0 = remote host ALLOWS delegation of nonexportable credentials (required) ← If this value is absent or set to 1, Remote Credential Guard and Restricted Admin are both refused by this host
⚠ Gotcha: Remote Credential Guard can only be used when connecting to a device joined to an on-premises Active Directory domain. Per Microsoft's own documentation, "it can't be used when connecting to remote devices joined to Microsoft Entra ID." A Microsoft Entra joined client can still use Remote Credential Guard to reach an AD-joined target — but if your target server is itself only Entra joined, Remote Credential Guard is off the table entirely and the certificate-based approach is your only supported route.

The fix — two supported paths, chosen by what your target device is joined to

Cover both CSP (Intune) and Group Policy paths for whichever route applies, since most estates run a mix of both during a hybrid transition.

Path 1 — Certificate-based sign-in (works for any target, AD or Entra joined)

This deploys a certificate into the WHfB container that Windows can present as a redirected smart card credential. Microsoft documents two deployment routes for the certificate itself: Microsoft Intune with a SCEP or PKCS certificate profile, or an Active Directory Certificate Services (AD CS) enrollment policy for hybrid-joined devices with line of sight to a CA.

Key SCEP profile settings for a WHfB-container RDP certificate
SettingValue
Certificate typeUser
Subject name formatCN={{UserPrincipalName}}
Key storage provider (KSP)Enroll to Windows Hello for Business, otherwise fail
Extended key usageSmart Card Logon (1.3.6.1.4.1.311.20.2.2) + Client Authentication (1.3.6.1.5.5.7.3.2)
Key size2048, RSA, SHA-2

Once deployed, verify with the same certutil -store -user my command shown above. Users can then RDP to any device in the same Active Directory forest as their account by opening Remote Desktop Connection — they're prompted to unlock the certificate's private key with their existing WHfB gesture, and the certificate does the rest.

⚠ Warning: If you deploy this certificate via Intune while Windows Hello for Business itself is configured through Group Policy (not Intune) on the same device, the certificate request fails with error code 0x82ab0011, logged in the DeviceManagement-Enterprise-Diagnostic-Provider event log. Microsoft's documented fix is to configure Windows Hello for Business through Intune instead of Group Policy on any device where you also want to deploy this certificate through Intune — mixing the two configuration sources for these specific features doesn't work.

Path 2 — Remote Credential Guard (works only for AD domain-joined targets)

Remote Credential Guard needs no certificate deployment at all. It uses Kerberos to give the remote session single sign-on as the connecting user, while ensuring credential material never crosses the wire to the target device — genuinely more secure than certificate-based sign-in, but only usable when the target is AD domain-joined.

Two settings are required: one on the remote host (enable delegation of nonexportable credentials), one on the client (require Remote Credential Guard for outbound connections).

Remote host — Intune Settings Catalog / CSP / GPO / Registry (pick one)
MethodSetting / pathValue
Intune Settings CatalogAdministrative Templates > System > Credentials Delegation > Remote host allows delegation of nonexportable credentialsEnabled
CSP (OMA-URI)./Device/Vendor/MSFT/Policy/Config/CredentialsDelegation/RemoteHostAllowsDelegationOfNonExportableCredentials<enabled/>
Group PolicyComputer Configuration > Administrative Templates > System > Credentials DelegationEnabled
RegistryHKLM\SYSTEM\CurrentControlSet\Control\LsaDisableRestrictedAdmin (REG_DWORD)0
Client — Intune Settings Catalog / CSP / GPO (require Remote Credential Guard)
MethodSetting / pathValue
Intune Settings CatalogAdministrative Templates > System > Credentials Delegation > Restrict delegation of credentials to remote serversEnabled → Require Remote Credential Guard
CSP (OMA-URI)./Device/Vendor/MSFT/Policy/Config/ADMX_CredSsp/RestrictedRemoteAdministration<enabled/> with RestrictedRemoteAdministrationDrop = 2
Group PolicyComputer Configuration > Administrative Templates > System > Credentials Delegation > Restrict delegation of credentials to remote serversEnabled → Require Remote Credential Guard

Don't want to roll this out tenant-wide yet? Force it for a single connection without touching policy at all:

Command Prompt — one-off Remote Credential Guard connection
mstsc.exe /remoteGuard # Forces this single RDP session to use Remote Credential Guard. # If the target runs the RDS Host role, this only works if the connecting # user is already an administrator of that remote host.
✅ Tip: If every target your team RDPs into is AD domain-joined, prefer Remote Credential Guard over the certificate path. It needs no PKI, no certificate template, no SCEP/PKCS infrastructure, and per Microsoft's own comparison table it additionally prevents credential use after disconnection and blocks Pass-the-Hash attacks — protections the certificate-based approach doesn't provide on its own.

Troubleshooting the Intune policy delivery, not just the WHfB behaviour

Both fixes in this post are delivered as Intune configuration profiles, not compliance policies — worth being precise about, because the two get confused constantly. A configuration profile pushes a setting to the device (the WHfB policy itself, or the SCEP/PKCS certificate profile for RDP). A compliance policy only ever evaluates and reports a pass/fail state; it never configures anything. But compliance can still block this entire scenario indirectly: if a Conditional Access policy requires the target resource to see "device marked as compliant," and that compliance state hasn't evaluated yet, the connection gets refused regardless of whether your WHfB certificate or Remote Credential Guard policy is perfectly configured.

📋 Note: Microsoft's own troubleshooting guidance for a related scenario (the Enrollment Status Page) confirms this exact interaction is real: a Conditional Access policy using the "Require device to be marked as compliant" control, applied broadly to All Cloud apps, can stall a device before it even finishes initial sign-in setup — because compliance can't be evaluated in time. The same mechanism can just as easily block an RDP connection gated by the same Conditional Access requirement, well after enrollment.

When either fix "should" work but doesn't, check the Intune side before assuming the WHfB or RDP configuration itself is wrong:

Intune admin center — built-in Troubleshoot pane
  1. Troubleshooting + support > Troubleshoot › select the affected user, then the affected device
  2. Check Managed shows MDM and Last check-in is recent — a device that hasn't checked in recently cannot have received either policy yet
  3. Open the device's Device Configuration list and find the WHfB/certificate profile. The Status column tells you exactly what's wrong: Conflict means another policy is setting the same value differently; Pending means the device hasn't reported back yet; Not applicable means the profile doesn't target this platform/edition at all

If the portal shows the profile as delivered but the device still doesn't behave correctly, confirm what actually landed locally. Rather than checking the registry by hand, this site's own local Intune policy export script dumps both the relevant hives — PolicyManager\current\device (where the WHfB CSP settings land) and SOFTWARE\Microsoft\Enrollments (the enrollment record itself) — into one readable report in seconds.

Event Viewer — where MDM policy delivery failures are actually logged
Applications and Services Logs > Microsoft > Windows > DeviceManagement-Enterprise-Diagnostics-Provider > Admin # Example of a real, documented failure entry (Event ID 76): Log Name: Microsoft-Windows-DeviceManagement-Enterprise-Diagnostics-Provider/Admin Event ID: 76 Level: Error Description: Auto MDM Enroll: Failed (Unknown Win32 Error code: 0x8018002b) # A matching Event ID 75 entry means the same operation succeeded - always # check for the successful counterpart before assuming delivery never happened.
⚠ Gotcha: a policy showing "Conforms" or "Succeeded" in the Intune portal is a report of the last successful check-in, not a live guarantee. If you've just changed the WHfB or certificate profile, force a sync first (Settings > Accounts > Access work or school > select the account > Info > Sync) before troubleshooting further — otherwise you may be reading a stale status from before your change even reached the device.

What the community is saying

This exact limitation trips up enough admins that it comes up repeatedly across the Microsoft MVP community — several of whom are aggregated on this site's own MVP Feed.

Anders Ahl — MSEndpointMgr

"Remote Desktop Protocol (RDP) and VDI sessions cannot directly accept a WHfB Cloud Trust credential as a login method."

From Implementing Windows Hello for Business using the Cloud Trust Model — msendpointmgr.com, 29 Oct 2025

Peter van der Woude

Responding to a reader asking whether cloud Kerberos trust supports RDP sign-in: "Not at this moment. Have a look at the not supported scenarios..."

From Configuring Windows Hello for Business cloud Kerberos trust — petervanderwoude.nl, 13 Nov 2023

Both point at the same documented fact confirmed directly on Microsoft Learn's cloud Kerberos trust deployment guide, under Unsupported scenarios: "RDP/VDI scenarios using supplied credentials (RDP/VDI can be used with Remote Credential Guard or if a certificate is enrolled into the Windows Hello for Business container)." That's the exact same two-path guidance this post walks through — cloud Kerberos trust specifically can't supply the credential directly, but both supported workarounds remain fully available regardless of which WHfB trust model (key, certificate, or cloud Kerberos) the device uses.

Proof it worked — Test-WHfBRdpReadiness.ps1

This script checks, on a given device, exactly what's needed to know before troubleshooting an RDP + WHfB complaint: whether WHfB is actually provisioned, whether a redirected-smart-card-capable certificate exists in the container with the right EKUs, and what the local Remote Credential Guard client policy is currently set to. It makes no changes of any kind.

Download the script — GitHub

Test-WHfBRdpReadiness.ps1 is free and open source. It's a genuinely read-only check — no certificates, registry values, or policies are changed.

Test-WHfBRdpReadiness.ps1 View full repo →
Example output below is a real run. This is genuine output from testing this script on a real WHfB-enrolled device — not illustrative or fictional.
Test-WHfBRdpReadiness.ps1 — real output from a live test run
.\Test-WHfBRdpReadiness.ps1 === Windows Hello for Business provisioning === [OK ] NGC key present for current user (dsregcmd /status: NgcSet : YES) === Redirected smart card certificate (WHfB container) === [WARN] No certificate with both Smart Card Logon and Client Authentication EKUs was found. [RESULT] This device CANNOT currently use certificate-based WHfB sign-in for RDP. === Remote Credential Guard (client policy) === [INFO ] RestrictedRemoteAdministration policy: NOT CONFIGURED [WARN] No client policy found requiring Remote Credential Guard. [RESULT] This device is NOT currently enforcing Remote Credential Guard by policy. === Summary === Certificate-based RDP sign-in : NOT READY Remote Credential Guard : NOT ENFORCED (policy not configured) This script performed read-only checks only. No settings were changed.

That's a genuine "before" result — WHfB is provisioned on this device, but neither RDP fix has been configured yet, which is exactly the state this post exists to help you move out of.

⚠ Gotcha: the script's Remote Credential Guard client-policy check reads HKLM:\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation, which is where this ADMX-backed policy is commonly observed to land once applied. Microsoft's own documentation doesn't publish this exact registry mapping for the client-side setting (only the remote-host side's registry path is officially documented). Treat the script's client-policy result as a helpful indicator, and confirm authoritatively with gpresult /h report.html if it matters for a compliance decision.

References

Share this post
LinkedIn X / Twitter Reddit Bluesky

More from EndpointWeekly

Scripts & Tools
Deploy Free WHfB Health Scripts to Intune
Six checks, five auto-repairs, zero helpdesk calls.
Entra ID
The Primary Refresh Token (PRT) Deep Dive
How Entra ID SSO actually works under the hood.
Windows
Windows Hello for Business Provisioning Failure — Complete Fix
The other common WHfB failure mode, fully diagnosed.