HomeNewsletterCommunityMVP FeedToolsArchiveBlogToday's NewsAboutServicesQuick Links Subscribe free
← Back to Blog
Windows Hello for Business WHfBNGCWindows Hello ContainercertutilTPMTroubleshooting

Inside the NGC Container: Why 'Just Delete the Ngc Folder' Is Terrible Windows Hello Advice

IA
Imran Awan
31 July 2026

Search any forum for "Windows Hello broken" and within three replies someone says: "just delete the Ngc folder and reboot." It is the WHfB equivalent of "have you tried turning it off and on again" - and it is one of the most destructive pieces of advice on the internet. This post opens up the NGC container, explains what actually lives in it, and shows you why the folder-delete trick is dangerous, what it really does, and the supported way to reset a broken Hello credential instead.

The problem: a folder everyone deletes and nobody understands

When Windows Hello for Business (WHfB) provisions, the user's private key does not sit in a normal file you can copy. It lives inside a protected store Microsoft calls the NGC container (NGC stands for Next Generation Credentials, the internal name for Hello). On disk that store is here:

File Explorer — the NGC container path
C:\Windows\ServiceProfiles\LocalService\AppData\Local\Microsoft\Ngc

Inside are per-credential subfolders full of opaque binary blobs: references to the protector keys, the PIN reset protector, and metadata that ties the container to the user and (where a Trusted Platform Module is present) to the TPM. You cannot read the actual private key from these files - that is the point. The key material is sealed by the TPM or by DPAPI, and the folder is Access Control List (ACL) protected so ordinary processes cannot even open it.

Two Windows services own this container and must be running for Hello to work at all:

ServiceDisplay nameJob
NgcSvcMicrosoft PassportManages the WHfB credential and key operations
NgcCtnrSvcMicrosoft Passport ContainerManages the container that stores the keys
Note: "NGC," "Passport," and "Windows Hello for Business" are three names for the same thing at different layers. Microsoft renamed the user-facing feature to Windows Hello, but the services, the folder, and the dsregcmd fields (NgcSet, NgcKeyId) still carry the original NGC/Passport branding. When you see any of them, you are looking at the same credential.

Why it happens: why "just delete the Ngc folder" is dangerous

The folder-delete advice comes from a real behaviour: if you take ownership of the Ngc folder, wipe its contents, and reboot, Windows rebuilds an empty container and re-provisions Hello. Sometimes that clears a corrupted credential. But look at what you actually did:

Watch out: Manually deleting or re-owning the Ngc folder is unsupported. It can leave a device unable to provision Hello at all, and it scatters orphaned keys across your directory that you then have to hunt down (see the msDS-KeyCredentialLink deep dive). Never do it on a production device, and never as a first response.

How to verify what state the container is really in

Before touching anything, read the state. dsregcmd /status tells you whether a Hello credential exists for the signed-in user and its key ID - this is your "is the container populated?" check:

Command Prompt
C:\> dsregcmd /status | findstr /i "NgcSet NgcKeyId" NgcSet : YES # a Hello credential exists NgcKeyId : {FA0DB076-A5D7-4844-82D8-50A2FB42EC7B} # its key ID

Then confirm the two container services are actually running. If either is stopped or disabled, Hello fails and the fix is to start the service, not to delete anything:

Windows PowerShell
Get-Service NgcSvc, NgcCtnrSvc | Select-Object Name, DisplayName, Status Name DisplayName Status ---- ----------- ------ NgcSvc Microsoft Passport Running # both must be Running NgcCtnrSvc Microsoft Passport Container Running

The fix: reset the credential the supported way

If a single user's Hello credential is genuinely broken, you do not delete the folder. You delete that user's Hello container with the built-in tool, run in the user's own context (not elevated):

Command Prompt (run as the signed-in user)
C:\> certutil.exe -deletehellocontainer Windows Hello container deleted successfully. # scoped to THIS user only

This removes only the signed-in user's credential, cleanly, through the supported code path - it lets Windows tidy up the container and re-provision on next sign-in. Compare that with the folder-delete sledgehammer, which hits every user and leaves debris:

certutil -deletehellocontainerDeleting the Ngc folder
ScopeThe one signed-in userEvery user profile on the device
SupportedYesNo
Cleans up keysYes - through the proper pathNo - leaves orphaned keys in Entra ID / AD
Touches NTFS ACLsNoYes - and often wrongly
Run asThe user (not elevated)Requires taking ownership as admin
Gotcha: Run certutil -deletehellocontainer from an elevated prompt and it deletes the administrator's container, not the signed-in user's - so nothing appears to happen for the user who has the problem. Always run it in the affected user's own session. To do it at scale, push it as a user-context script, never as SYSTEM.

Proof it worked

After a supported reset and re-provision, NgcSet returns to YES with a new NgcKeyId, both container services are Running, and the user signs in with their new PIN. On the directory side, the old public key ages out and the new one is registered - no orphans, because you never bypassed the cleanup path.

Tip: If Hello is broken for every user on a device, do not reach for the folder. Check the TPM first (Get-Tpm - is it present and ready?) and the two NGC services. A cleared or malfunctioning TPM, or a stopped Passport Container service, breaks Hello for everyone and is fixed without deleting a single file. The folder is almost never the real problem.

References

PowerShell Scripts — NGC Container Inspector

Script for this post is in Daily-Tasks.

Get-NgcContainerInfo.ps1 — read-only: reports the container path, the two NGC service states, and NgcSet/NgcKeyId so you can triage before ever touching the folder
View all scripts on GitHub
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 Signs In Fine but File Shares Prompt: Fixing…
The user signs in with their PIN and cloud apps work, but a file share throws a…