Windows · Windows Server  ·  high  ·  Recovery, imaging & repair

Signed in with a temporary profile — "You've been signed in with a temporary profile"

Windows could not load the user's profile, so it created a throwaway one. Everything done in it is discarded at sign-out.

What you see

A default desktop with none of the user's files or settings, and a notification about a temporary profile. The real data is still on disk under C:\Users.

What is actually wrong

The profile's registry entry has been marked with a .bak suffix after a failed load, the NTUSER.DAT is locked or damaged, or the profile directory permissions have been changed.

Codes and articles

temporary profileEvent 1511Event 1515Event 1521.bak profileProfileList

Fixes (2)

Repair the ProfileList entry
Elevated PowerShell, signed in as a different administrator30 minuteshigh riskreversible

A local profile. The user's data is intact; only the pointer to it is wrong.

  1. Tell the user to sign out and not to save anything into the temporary profile — it is discarded at sign-out.

  2. Sign in as another administrator and find the entries.

    PowerShell
    Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList' |  ForEach-Object {    [PSCustomObject]@{      Key  = $_.PSChildName      Path = (Get-ItemProperty $_.PSPath).ProfileImagePath      State= (Get-ItemProperty $_.PSPath).State    }  } | Format-Table -AutoSize
  3. Back the whole key up before changing it.

    PowerShell
    reg export "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" C:\profilelist-backup.reg /y
  4. You will find two entries for the same SID: one ending .bak pointing at the real profile, and one without pointing at the temporary one. Delete the entry without the suffix, then rename the .bak one to take its place.

    Windows renames the working entry to .bak when a load fails and creates a fresh one. Swapping them back is the entire fix — deleting the profile folder, which is the common advice, destroys the user's data for no reason.

  5. Set State to 0 and RefCount to 0 on the restored entry.

    PowerShell
    $sid = 'S-1-5-21-...' $p = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\$sid"Set-ItemProperty $p -Name State -Value 0 -Type DWordSet-ItemProperty $p -Name RefCount -Value 0 -Type DWord
  6. Restart and have the user sign in.

Confirm it workedThe user's desktop, documents and settings are present, and the profile path matches the original folder.
PowerShell
Get-CimInstance Win32_UserProfile | Format-Table LocalPath,SID,Special,Loaded
If you need to undo itImport profilelist-backup.reg to restore the original entries.
Deal with a roaming profile that will not load
Elevated PowerShell45 minutesmedium riskreversible

Roaming profiles or a session host.

  1. Read the user profile service log, which names the reason precisely.

    PowerShell
    Get-WinEvent -LogName 'Microsoft-Windows-User Profile Service/Operational' -MaxEvents 40 | Format-Table TimeCreated,Id,Message -Wrap
  2. Check the profile share is reachable and the permissions are right — the user needs full control of their own folder, and the folder must not be inheriting a deny.

  3. Check for a lock: a session that did not close leaves NTUSER.DAT held open, and the next sign-in cannot load it.

    PowerShell
    Get-SmbOpenFile | Where-Object Path -like '*NTUSER*' | Format-Table ClientUserName,Path,SessionId

    Closing the stale open file is often the entire fix on a session host, and it takes seconds. Rebuilding the profile without checking this recreates the problem at the next disconnect.

  4. Close the stale handle if one exists.

    PowerShell
    Get-SmbOpenFile | Where-Object Path -like '*NTUSER*' | Close-SmbOpenFile -Force
  5. Consider FSLogix or a container-based profile for session hosts — roaming profiles on a multi-session host are a recurring source of exactly this.

Confirm it workedThe user signs in with their own settings and the profile writes back at sign-out.
If you need to undo itThe profile on the share is untouched by these steps.

Where this stops. This write-up was written and checked by hand. It says what each step changes, how to confirm it worked and how to reverse it, and anything destructive is flagged before you reach it. If it does not match what your machine is doing, search the Support Centre for the exact code or message — and when something needs a person, get in touch.