Situatie
Un cont Microsoft personal (MSA) rămâne memorat pe un laptop cu utilizator local, după o autentificare accidentală (de exemplu, logarea pe YouTube din Edge). Ștergerea profilului din Edge și a credențialelor din Credential Manager nu ajunge: contul reapare. În această procedură, contul agățat este notat contgeneric@microsoft.com.
Simptome observate:
- Edge afișează profilul „Personal” cu mesajul „We’ve detected this account on your device and we need to verify it before you can complete sign in”.
- Settings → Accounts → Email & accounts listează contul, fără butonul Remove (doar Sign in options și Manage).
- OneDrive cere autentificarea pe cont după fiecare restart.
- Pe ecranul de bun venit Edge („Choose an account”), contul reapare chiar după ștergerea profilului de 3 ori.
- Access work or school este gol, deci nu e un cont Entra ID/MDM.
Cauza: contul e ținut simultan în mai multe straturi — cache-ul WAM (Web Account Manager), registry-ul IdentityCRL al serviciului wlidsvc, OneDrive și folderul de date Edge. Trebuie curățate toate, în ordine; oricare strat rămas îl readuce pe celelalte.
Este posibil ca inregistrarea sa fie in profilul SYSTEM (HKEY_USERS\S-1-5-18, vizibil și ca .DEFAULT) — StoredIdentities și CredManLog. De acolo wlidsvc îl readaugă la fiecare pornire ca identitate a dispozitivului; de aceea Sign in options rămâne blocat pe „All apps can ask to sign me in”, iar Manage încearcă să se conecteze. Un Administrator nu poate scrie acolo: curățarea trebuie rulată ca SYSTEM
Solutie
Pasi de urmat
Verificare
stabilește dacă Windows însuși rulează pe contul MSA. Dacă da, soluția e conversia la cont local, nu curățarea cache-ului.
Get-LocalUser | Format-Table Name, Enabled, PrincipalSource
Rezultat așteptat: utilizatorul activ are PrincipalSource = Local. Dacă apare MicrosoftAccount, mergi la Settings → Accounts → Your info → Sign in with a local account instead înainte de orice altceva.
Apoi identifică unde mai e memorat contul:
# Caută în TOATE profilele, inclusiv SYSTEM (S-1-5-18 / .DEFAULT)
reg query HKU /f “contgeneric” /s /k /d 2>$null | Select-String “HKEY”
reg query HKLM /f “contgeneric” /s /k /d 2>$null | Select-String “HKEY”
cmdkey /list | Select-String “contgeneric”
| Locație | Ce ține | Curățat la |
| HKU\S-1-5-18\Software\Microsoft\IdentityCRL\StoredIdentities\<cont> | Identitatea MSA la nivel de dispozitiv (profil SYSTEM) — cauza rădăcină | Pasul 6 (ca SYSTEM) |
| HKU\S-1-5-18\Software\Microsoft\IdentityCRL\CredManLog\<cont> | Jurnal credențiale în profilul SYSTEM | Pasul 6 (ca SYSTEM) |
| Credential Manager al contului SYSTEM | Credențiale MicrosoftAccount:* ale dispozitivului | Pasul 6 (ca SYSTEM) |
| HKCU\Software\Microsoft\IdentityCRL\StoredIdentities\<cont> | Identitatea MSA înregistrată pentru utilizator | Pasul 3 și 6 |
| HKCU\Software\Microsoft\IdentityCRL\UserExtendedProperties\<cont> | Proprietăți cont; din ea citește Email & accounts; recreată de wlidsvc | Pasul 3, 5 și 6 |
| HKCU\Software\Microsoft\IdentityCRL\Immersive\production\Token | Token-uri MSA pentru aplicații moderne | Pasul 3 |
| %LOCALAPPDATA%\Packages\*\AC\TokenBroker\Accounts | Token-uri WAM per aplicație (criptate) | Pasul 3 și 6 |
| %LOCALAPPDATA%\Microsoft\TokenBroker\Cache | Cache WAM global | Pasul 3 și 6 |
| HKCU\Software\Microsoft\OneDrive\Accounts\Personal | Legătura OneDrive | Pasul 2 |
| %LOCALAPPDATA%\Microsoft\Edge\User Data | Profile Edge și conturi memorate de Edge | Pasul 4 |
| Credential Manager utilizator (cmdkey) | Credențiale generice MSA / OneDrive | Pasul 2 |
Toate scripturile se rulează în PowerShell ca Administrator, logat cu utilizatorul local afectat, cu Edge închis. Înlocuiește adresa din $cont cu contul real.
Pasul 1 — Oprește conectarea automată
Settings → Accounts → Email & accounts → contul → Sign in options → „Microsoft apps will need to ask me to use this account”. Apoi deconectează contul din Microsoft Store, Outlook/Office, Teams, Xbox, dacă e cazul.
Pasul 2 — Deconectează OneDrive
taskkill /f /im OneDrive.exe 2>$null
Remove-Item “HKCU:\Software\Microsoft\OneDrive\Accounts\Personal” -Recurse -Force -ErrorAction SilentlyContinue
cmdkey /list | Select-String “OneDrive” | ForEach-Object {
$t = ($_ -replace ‘.*Target:\s*’,”).Trim()
cmdkey /delete:$t
}
Remove-ItemProperty “HKCU:\Software\Microsoft\Windows\CurrentVersion\Run” -Name OneDrive -ErrorAction SilentlyContinue
$od = @(“$env:LOCALAPPDATA\Microsoft\OneDrive\OneDrive.exe”,”$env:ProgramFiles\Microsoft OneDrive\OneDrive.exe”) | Where-Object { Test-Path $_ } | Select-Object -First 1
if ($od) { & $od /reset }
Dacă OneDrive nu e necesar pe dispozitiv: winget uninstall Microsoft.OneDrive.
Pasul 3 — Curăță WAM și IdentityCRL
Atenție: deconectează toate conturile Microsoft din toate aplicațiile utilizatorului (token-urile sunt criptate și nu pot fi filtrate după adresă).
$cont = “contgeneric@microsoft.com”
Get-Process msedge, OneDrive, Microsoft.AAD.BrokerPlugin, SystemSettings -ErrorAction SilentlyContinue | Stop-Process -Force
Stop-Service wlidsvc, TokenBroker -Force -ErrorAction SilentlyContinue
Get-ChildItem “$env:LOCALAPPDATA\Packages\*\AC\TokenBroker\Accounts” -ErrorAction SilentlyContinue |
ForEach-Object { Remove-Item “$($_.FullName)\*” -Recurse -Force -ErrorAction SilentlyContinue }
Remove-Item “$env:LOCALAPPDATA\Microsoft\TokenBroker\Cache\*” -Recurse -Force -ErrorAction SilentlyContinue
$crl = “HKCU:\Software\Microsoft\IdentityCRL”
Remove-Item “$crl\StoredIdentities\$cont” -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item “$crl\UserExtendedProperties\$cont” -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item “$crl\Immersive\production\Token\*” -Recurse -Force -ErrorAction SilentlyContinue
Write-Host “`n— Locatii ramase —” -ForegroundColor Yellow
reg query HKCU /f “contgeneric” /s /d /k 2>$null | Select-String “HKEY”
Start-Service wlidsvc, TokenBroker -ErrorAction SilentlyContinue
Restart. Rezultat obținut: contul a dispărut din Email & accounts, dar a rămas cheia UserExtendedProperties (Pasul 5) și înregistrarea din Edge (Pasul 4).
Pasul 4 — Resetează Edge și blochează conectarea
Get-Process msedge, msedgewebview2 -ErrorAction SilentlyContinue | Stop-Process -Force
Start-Sleep 2
$ud = “$env:LOCALAPPDATA\Microsoft\Edge\User Data”
if (Test-Path $ud) { Rename-Item $ud “User Data.old” -Force }
$p = “HKLM:\SOFTWARE\Policies\Microsoft\Edge”
New-Item $p -Force | Out-Null
Set-ItemProperty $p -Name BrowserSignin -Value 0 -Type DWord
Set-ItemProperty $p -Name ImplicitSignInEnabled -Value 0 -Type DWord
Set-ItemProperty $p -Name HideFirstRunExperience -Value 1 -Type DWord
Set-ItemProperty $p -Name StartupBoostEnabled -Value 0 -Type DWord
Verifică în edge://policy: toate cele 4 politici cu status OK. După confirmare, șterge copia veche — conține cookie-uri și sesiuni ale contului:
Remove-Item “$env:LOCALAPPDATA\Microsoft\Edge\User Data.old” -Recurse -Force
BrowserSignin=0 blochează doar sincronizarea profilului Edge, nu logarea pe site-uri.
Pasul 5 — Șterge cheia UserExtendedProperties recreată de wlidsvc
Cheia nu conține parole sau token-uri, dar e recreată de serviciu la pornire. Se șterge cu serviciul dezactivat:
Set-Service wlidsvc -StartupType Disabled
Stop-Service wlidsvc -Force
reg delete “HKCU\Software\Microsoft\IdentityCRL\UserExtendedProperties\contgeneric@microsoft.com” /f
Restart-Computer
După restart:
reg query HKCU /f “contgeneric” /s /k
Set-Service wlidsvc -StartupType Manual
Obligatoriu: readu wlidsvc pe Manual, altfel Microsoft Store și alte aplicații nu mai funcționează.
Dacă reg delete întoarce Access is denied: regedit → cheia → Permissions → Advanced → Owner = utilizatorul local, bifat Replace owner on subcontainers and objects → Full Control → Delete.
Pasul 6 — Curăță identitatea din profilul SYSTEM (pasul decisiv)
Precondiție: restart, apoi nicio aplicație deschisă (Edge, Store, Outlook, Teams) — doar PowerShell ca Administrator. Scriptul închide forțat ce poate folosi contul, rulează curățarea ca SYSTEM printr-o sarcină programată temporară (care se șterge singură), apoi curăță și profilul utilizatorului.
$cont = “contgeneric@microsoft.com”
# 0. Închide tot ce poate folosi contul
Get-Process msedge, msedgewebview2, OneDrive, Teams, ms-teams, olk, OUTLOOK, WinStore.App, Widgets, WidgetService, PhoneExperienceHost, Microsoft.AAD.BrokerPlugin, SystemSettings -ErrorAction SilentlyContinue | Stop-Process -Force
Start-Sleep 2
# 1. Oprește serviciile
Set-Service wlidsvc -StartupType Disabled
Stop-Service wlidsvc, TokenBroker -Force -ErrorAction SilentlyContinue
# 2. Curățare profil SYSTEM (rulează ca SYSTEM)
@”
`$cont = ‘$cont’
`$log = ‘C:\Windows\Temp\msa_clean.log’
“== start `$(Get-Date)” | Out-File `$log
foreach (`$k in ‘StoredIdentities’,’CredManLog’,’UserExtendedProperties’) {
`$p = “Registry::HKEY_USERS\S-1-5-18\Software\Microsoft\IdentityCRL\`$k\`$cont”
if (Test-Path `$p) { Remove-Item `$p -Recurse -Force; “`$k sters: `$(-not (Test-Path `$p))” | Out-File `$log -Append }
}
cmdkey /list | Select-String ‘Target’ | ForEach-Object {
`$t = (`$_ -replace ‘.*Target:\s*’,”).Trim()
if (`$t -match [regex]::Escape(`$cont) -or `$t -match ‘MicrosoftAccount’) { “sters: `$t” | Out-File `$log -Append; cmdkey /delete:`$t | Out-Null }
}
“@ | Set-Content C:\Windows\Temp\msa_clean.ps1
$a = New-ScheduledTaskAction -Execute powershell.exe -Argument ‘-NoProfile -ExecutionPolicy Bypass -File C:\Windows\Temp\msa_clean.ps1’
Register-ScheduledTask -TaskName MSA-Cleanup -Action $a -User SYSTEM -RunLevel Highest -Force | Out-Null
Start-ScheduledTask MSA-Cleanup; Start-Sleep 5
Get-Content C:\Windows\Temp\msa_clean.log
Unregister-ScheduledTask MSA-Cleanup -Confirm:$false
Remove-Item C:\Windows\Temp\msa_clean.ps1, C:\Windows\Temp\msa_clean.log -Force
# 3. Curățare profil utilizator (WAM + IdentityCRL)
Get-ChildItem “$env:LOCALAPPDATA\Packages\*\AC\TokenBroker\Accounts” -ErrorAction SilentlyContinue |
ForEach-Object { Remove-Item “$($_.FullName)\*” -Recurse -Force -ErrorAction SilentlyContinue }
Remove-Item “$env:LOCALAPPDATA\Microsoft\TokenBroker\Cache\*” -Recurse -Force -ErrorAction SilentlyContinue
foreach ($k in ‘StoredIdentities’,’UserExtendedProperties’,’CredManLog’) {
reg delete “HKCU\Software\Microsoft\IdentityCRL\$k\$cont” /f 2>$null
}
# 4. Verificare — așteptat: nimic sub “Ramas”
Write-Host “`n— Ramas —” -ForegroundColor Yellow
reg query HKU /f ($cont.Split(‘@’)[0]) /s /k 2>$null | Select-String “HKEY”
Jurnalul trebuie să arate StoredIdentities sters: True și CredManLog sters: True, iar secțiunea „Ramas” să fie goală. Apoi:
Set-Service wlidsvc -StartupType Manual
Restart-Computer
După restart, verifică Email & accounts înainte de a deschide orice aplicație. Rezultat obținut: contul a dispărut definitiv.
Soluție de rezervă
Dacă pașii de mai sus nu reușesc: creează un utilizator local nou (Administrator), loghează-te cu el și șterge profilul vechi din System → About → Advanced system settings → User Profiles → Delete.
Verificări finale
Incidentul se închide doar când toate verificările trec după un restart.
reg query HKU /f “contgeneric” /s /k # așteptat: nimic (toate profilele, inclusiv SYSTEM)
cmdkey /list | Select-String “contgeneric” # așteptat: nimic
Get-Service wlidsvc | Select-Object Name, StartType # așteptat: Manual
Get-ScheduledTask MSA-Cleanup -ErrorAction SilentlyContinue # așteptat: nimic (sarcina temporară ștearsă)
Test-Path “$env:LOCALAPPDATA\Microsoft\Edge\User Data.old” # așteptat: False
- Email & accounts: contul nu mai apare
- Access work or school: gol
- Edge pornit curat, fără „Choose an account” și fără profilul „Personal”
- edge://policy: BrowserSignin, ImplicitSignInEnabled, HideFirstRunExperience, StartupBoostEnabled — status OK
- OneDrive nu mai cere autentificare după restart
- reg query și cmdkey nu mai găsesc contul
- wlidsvc readus pe Manual
- User Data.old șters
Securizarea contului și GDPR
Curățarea locală nu revocă sesiunile deja emise. Fă acești pași din contul afectat, ideal înainte de curățarea laptopului:
- Schimbă parola contului Microsoft — invalidează token-urile salvate pe dispozitiv.
- account.microsoft.com/devices → elimină laptopul.
- account.microsoft.com/security → Manage how I sign in → Sign out everywhere (jos în pagină).
- Dacă s-a folosit și un cont Google (YouTube): myaccount.google.com → Security → Your devices → elimină dispozitivul.
GDPR: adresa de email a contului este dată cu caracter personal. În documentație și tichete folosește un nume generic (aici, contgeneric@microsoft.com), iar capturile de ecran cu adresa reală se șterg după închiderea incidentului.
Leave A Comment?