Depanare cont blocat în Active Directory: identifică sursa și deblochează rapid în 2026

Conturile blocate sunt cel mai frecvent tichet la helpdesk. Ghidul arată cum identifici sursa exactă (Event ID 4740, LockoutStatus, PowerShell), cum deblochezi în siguranță și cum previi reapariția — cu scripturi gata de folosit pentru 2026.

Cont Blocat Active Directory 2026: Fix Rapid

Conturile blocate în Active Directory generează între 20% și 35% din tichetele unui helpdesk corporativ obișnuit, conform rapoartelor de operațiuni IT din 2025-2026. Sincer, nu deblocarea în sine este problema — aceea durează vreo 10 secunde — ci faptul că aceleași conturi se blochează din nou peste 5, 15 sau 30 de minute, iar utilizatorul ridică din umeri și nu știe de ce. În spatele fiecărei blocări recurente stă o credențială veche stocată undeva: pe un telefon, într-un serviciu Windows, într-o sesiune RDP uitată sau într-o biată mapare de rețea creată acum doi ani.

Eu am pățit asta cu un coleg care își bloca contul ca un ceasornic, la fix 30 de minute după fiecare deblocare. Vinovatul? Un iPad vechi, abandonat într-un sertar, care încerca în continuare să sincronizeze poșta. Așa că haide să vedem cum identifici sursa rapid și — mai ales — cum scapi definitiv de tichetul ăla care îți revine săptămânal.

Acest ghid documentează fluxul complet folosit de echipele de helpdesk în 2026: cum confirmi că un cont este într-adevăr blocat, cum identifici exact calculatorul care trimite parola greșită, cum deblochezi corect și cum elimini cauza pentru ca tichetul să nu reapară mâine dimineață.

Cum funcționează blocarea conturilor în Active Directory

Active Directory blochează un cont când numărul de încercări eșuate de autentificare depășește pragul setat în Default Domain Policy sau într-o politică Fine-Grained Password Policy (FGPP) aplicată direct utilizatorului. Trei valori controlează comportamentul:

  • Account lockout threshold — câte încercări eșuate sunt permise (recomandare NIST 2026: între 5 și 10).
  • Account lockout duration — cât timp rămâne contul blocat (recomandat: 15-30 minute, sau 0 pentru deblocare strict manuală).
  • Reset account lockout counter after — fereastra în care se contorizează încercările eșuate.

Verifici politica activă cu:

Get-ADDefaultDomainPasswordPolicy

# Pentru politici fine-grained
Get-ADFineGrainedPasswordPolicy -Filter *
Get-ADUserResultantPasswordPolicy -Identity ion.popescu

Diferența critică: blocat vs. parolă expirată vs. dezactivat

Înainte de orice investigație, confirmă că este într-adevăr un lockout. E o greșeală pe care o face toată lumea cel puțin o dată — cele trei stări sunt distincte și se rezolvă diferit:

Get-ADUser -Identity ion.popescu -Properties LockedOut, Enabled, PasswordExpired, AccountExpirationDate, badPwdCount, lastBadPasswordAttempt |
    Select-Object SamAccountName, LockedOut, Enabled, PasswordExpired, AccountExpirationDate, badPwdCount, lastBadPasswordAttempt

Dacă LockedOut = True, ai un lockout real. Dacă PasswordExpired = True, utilizatorul trebuie să-și schimbe parola, nu să fie deblocat. Iar dacă Enabled = False, contul a fost dezactivat de un administrator (sau de un script de offboarding uitat — am văzut și asta).

Pasul 1: Deblocarea imediată

Deblocarea în sine este trivială. Folosește una dintre metodele de mai jos, în funcție de instrumentele disponibile pe stația de helpdesk.

Cu PowerShell (RSAT instalat)

Unlock-ADAccount -Identity ion.popescu

# Verificare imediată
Get-ADUser ion.popescu -Properties LockedOut | Select SamAccountName, LockedOut

Din Active Directory Users and Computers

Click dreapta pe utilizator → Properties → tab-ul Account → bifează Unlock accountOK. Pe sisteme moderne, opțiunea apare doar când contul chiar este blocat (deci, dacă nu o vezi, nu este nimic de deblocat).

De la o stație fără RSAT (un singur agent fără privilegii speciale)

Dacă agentul de helpdesk are doar drepturi delegate pe OU și nu are RSAT, folosește net user împotriva unui DC explicit:

net user ion.popescu /domain
# Caută "Account active" și "Account locked out"

# Deblocare prin specificarea DC-ului
dsmod user "CN=Ion Popescu,OU=Utilizatori,DC=firma,DC=ro" -disabled no

Atenție: niciodată nu reseta parola „preventiv" la fiecare deblocare. Dacă utilizatorul nu cere reset, schimbarea parolei poate provoca un val nou de blocări de la dispozitivele care încă cache-uiesc parola veche. E un cerc vicios pe care l-am tot văzut prin tichete.

Pasul 2: Identificarea sursei blocării

Aici se opresc majoritatea articolelor — și de aici începe, de fapt, treaba serioasă. Un cont care se blochează repetitiv are întotdeauna o sursă concretă: un dispozitiv, un serviciu, o sesiune. Trebuie găsit, altfel tichetul revine. Ciclic. La nesfârșit.

Metoda 1: Event ID 4740 pe PDC Emulator

Domain Controller-ul cu rolul PDC Emulator înregistrează Event ID 4740 în Security log de fiecare dată când un cont este blocat. Câmpul Caller Computer Name conține numele exact al stației care a trimis ultima parolă greșită. Acesta este, de obicei, glonțul de argint.

# Identifică PDC Emulator
$pdc = (Get-ADDomain).PDCEmulator

# Caută ultimele 10 evenimente 4740 pentru un utilizator specific
Get-WinEvent -ComputerName $pdc -FilterHashtable @{
    LogName = 'Security'
    Id      = 4740
} -MaxEvents 50 |
Where-Object { $_.Properties[0].Value -eq 'ion.popescu' } |
Select-Object TimeCreated,
    @{n='User';     e={$_.Properties[0].Value}},
    @{n='Source';   e={$_.Properties[1].Value}}

Dacă Source arată un nume de calculator (ex. LAPTOP-ION05), acela este punctul de pornire pentru investigație. Dacă, în schimb, vezi numele unui DC, sursa reală este în alt log — vezi metoda 3.

Metoda 2: Event ID 4625 pe sursa raportată

După ce ai numele calculatorului, conectează-te la el (sau interoghează-l remote) și caută Event ID 4625 (failed logon). Câmpurile Logon Type și Process Name îți spun ce anume a încercat să se autentifice — și aici se rezolvă, de obicei, misterul.

Get-WinEvent -ComputerName LAPTOP-ION05 -FilterHashtable @{
    LogName = 'Security'
    Id      = 4625
} -MaxEvents 20 |
Where-Object { $_.Properties[5].Value -eq 'ion.popescu' } |
Select-Object TimeCreated,
    @{n='LogonType';   e={$_.Properties[10].Value}},
    @{n='Process';     e={$_.Properties[18].Value}},
    @{n='IpAddress';   e={$_.Properties[19].Value}}

Tipuri de logon relevante:

  • 2 — interactiv (cineva tastează la tastatură).
  • 3 — network (mapări de rețea, share-uri SMB).
  • 4 — batch (Task Scheduler).
  • 5 — service (un Windows Service rulează cu credențiale vechi).
  • 10 — RemoteInteractive (RDP).
  • 11 — CachedInteractive (login offline cu credențiale cache-uite).

Metoda 3: Microsoft Account Lockout and Management Tools (LockoutStatus.exe)

Pachetul oficial ALTools conține LockoutStatus.exe, un instrument grafic care interoghează toate DC-urile simultan și arată exact unde și când a fost detectată ultima parolă greșită. E un tool vechi, dar — surprinzător — rămâne util în 2026, mai ales pentru cazurile cu replicare lentă între DC-uri sau atunci când vrei să confirmi rapid pe ce DC s-a produs blocarea.

LockoutStatus.exe /U:firma\ion.popescu

Metoda 4: Audit pe DC (când 4740 nu apare)

Dacă PDC Emulator nu loghează 4740, auditul nu este activat. Verifică:

auditpol /get /subcategory:"User Account Management"
auditpol /get /subcategory:"Logon"

# Activare (necesită drepturi pe DC)
auditpol /set /subcategory:"User Account Management" /success:enable /failure:enable
auditpol /set /subcategory:"Logon" /success:enable /failure:enable

Modificările ar trebui aplicate prin Default Domain Controllers Policy, nu local, ca să supraviețuiască replicării. Altfel, le pierzi la prima resincronizare.

Pasul 3: Cauze comune și remedierea lor

După ce identifici dispozitivul-sursă, problema este aproape întotdeauna una dintre situațiile de mai jos. Procentajele sunt orientative, din rapoarte de helpdesk publicate în 2025 — variază în funcție de cât de „mobil" e parcul de echipamente.

Telefon mobil cu Exchange/Outlook (35-45% din cazuri)

Utilizatorul și-a schimbat parola pe Windows, dar profilul Exchange ActiveSync de pe telefon încă o folosește pe cea veche. Clasic. Verifică în Exchange Admin Center sau în Microsoft 365 admin:

Get-MobileDeviceStatistics -Mailbox [email protected] |
    Select DeviceModel, DeviceOS, LastSuccessSync, LastSyncAttemptTime, Status

Soluția: utilizatorul actualizează parola în aplicația de mail de pe telefon. Dacă dispozitivul este vechi sau nefolosit (cum era iPad-ul colegului meu), șterge-l direct prin Remove-MobileDevice.

Servicii Windows cu credențiale vechi (15-20%)

Pe stația-sursă, identifică serviciile care rulează sub contul utilizatorului:

Get-CimInstance Win32_Service -ComputerName LAPTOP-ION05 |
    Where-Object { $_.StartName -like "*ion.popescu*" } |
    Select Name, StartName, State, StartMode

Soluția: actualizează credențialele serviciului sau, mai bine, migrează la un Group Managed Service Account (gMSA). Pe termen lung, gMSA-urile îți elimină complet această categorie de tichete.

Task Scheduler (10-15%)

Get-ScheduledTask -CimSession LAPTOP-ION05 |
    Where-Object { $_.Principal.UserId -like "*ion.popescu*" } |
    Select TaskName, TaskPath, State

Mapări de rețea persistente (10%)

Mapările create cu Reconnect at sign-in și o parolă explicită rămân stocate în Credential Manager. Pe stația utilizatorului:

cmdkey /list
cmdkey /delete:Domain:target=server-fisiere.firma.ro

Sesiuni RDP deconectate (5-10%)

O sesiune RDP veche pe un terminal server, deconectată dar nu închisă, poate continua să trimită heartbeat-uri cu parola veche. Sună inofensiv, dar generează lockout-uri perfect curate.

quser /server:terminal01
logoff <ID_sesiune> /server:terminal01

Browser cu parole salvate (5%)

Mai rar în 2026, datorită Windows Hello și passkeys, dar încă apare: extensii sau aplicații web care folosesc autentificare integrată cu o parolă cache-uită incorectă în profilul browserului.

Pasul 4: Script complet de triaj pentru helpdesk

Salvează scriptul de mai jos ca Get-AdLockoutSource.ps1 și rulează-l de pe orice stație cu RSAT și acces la PDC Emulator. Returnează un raport gata de inclus în tichet — exact ce vrea managerul de helpdesk să vadă.

param(
    [Parameter(Mandatory=$true)]
    [string]$User
)

Import-Module ActiveDirectory

$pdc = (Get-ADDomain).PDCEmulator
Write-Host "PDC Emulator: $pdc" -ForegroundColor Cyan

$adUser = Get-ADUser -Identity $User -Properties LockedOut, badPwdCount, lastBadPasswordAttempt, PasswordLastSet, LastLogonDate
Write-Host "`n--- Stare cont ---" -ForegroundColor Yellow
$adUser | Select SamAccountName, LockedOut, badPwdCount, lastBadPasswordAttempt, PasswordLastSet, LastLogonDate | Format-List

Write-Host "`n--- Ultimele evenimente 4740 (lockout) ---" -ForegroundColor Yellow
$lockoutEvents = Get-WinEvent -ComputerName $pdc -FilterHashtable @{
    LogName = 'Security'; Id = 4740
} -MaxEvents 200 -ErrorAction SilentlyContinue |
Where-Object { $_.Properties[0].Value -eq $User } |
Select-Object TimeCreated,
    @{n='Source'; e={$_.Properties[1].Value}} -First 10

$lockoutEvents | Format-Table -AutoSize

if ($lockoutEvents) {
    $sourceComputer = $lockoutEvents[0].Source
    Write-Host "`n--- Verificare 4625 pe $sourceComputer ---" -ForegroundColor Yellow
    try {
        Get-WinEvent -ComputerName $sourceComputer -FilterHashtable @{
            LogName = 'Security'; Id = 4625
        } -MaxEvents 50 -ErrorAction Stop |
        Where-Object { $_.Properties[5].Value -eq $User } |
        Select-Object TimeCreated,
            @{n='LogonType'; e={$_.Properties[10].Value}},
            @{n='Process';   e={$_.Properties[18].Value}},
            @{n='IP';        e={$_.Properties[19].Value}} -First 10 |
        Format-Table -AutoSize
    } catch {
        Write-Warning "Nu pot citi log-ul de pe $sourceComputer : $_"
    }
}

Rulare:

.\Get-AdLockoutSource.ps1 -User ion.popescu

Prevenirea blocărilor recurente

Politici recomandate pentru 2026

NIST SP 800-63B (revizia 2024) și ghidurile Microsoft pentru Active Directory în 2026 recomandă:

  • Threshold de blocare între 5 și 10 încercări — suficient de strict pentru a opri atacuri brute-force, suficient de tolerant pentru a evita blocările din pură neatenție.
  • Durată de blocare 15-30 minute cu auto-deblocare, în loc de 0 (blocare permanentă, care îți umple coada de tichete inutil).
  • Fereastră de reset 15 minute.
  • Activarea Smart Lockout pentru conturile sincronizate în Entra ID — protejează de atacurile cu parolă din afara rețelei fără a-l bloca pe utilizatorul intern.
  • Folosirea Fine-Grained Password Policies pentru reguli mai stricte aplicate conturilor privilegiate (Tier 0).

Monitorizare proactivă

Un alert SIEM pe Event ID 4740 cu aceeași sursă, în mai puțin de 30 de minute, pentru utilizatori diferiți este un indicator clasic de password spray. Configurează regula în Microsoft Sentinel, Splunk sau în orice colector folosești. (Dacă încă nu ai unul, poate că acum e momentul.)

Self-service password reset

Cea mai eficientă reducere de tichete în 2025-2026, fără excepție, vine din activarea Self-Service Password Reset (SSPR) în Entra ID, combinată cu password writeback către Active Directory. Utilizatorii își deblochează singuri contul printr-o aplicație de autentificare, fără tichet la helpdesk și fără apel la 8 dimineața.

Greșeli frecvente de evitat

  • Resetarea parolei la fiecare deblocare — provoacă un val nou de blocări de la dispozitivele care încă cache-uiesc parola veche.
  • Ignorarea sursei — dacă deblochezi fără să identifici dispozitivul, tichetul revine în 15 minute. Pierdere netă de timp pentru toată lumea, inclusiv pentru tine.
  • Verificarea log-urilor pe DC-ul greșit — doar PDC Emulator centralizează 4740. Pe alte DC-uri vei vedea evenimente parțiale sau, mai des, deloc.
  • Lockout threshold prea mic (1-3) — provoacă blocări la fiecare typo. Industria s-a îndepărtat de această abordare după 2020 din motive bune.
  • Nu activezi auditul Logon failures — fără el, 4625 nu apare și investigația devine pură ghicitoare.

Întrebări frecvente

Cum aflu de pe ce calculator s-a blocat contul în Active Directory?

Pe Domain Controller-ul cu rolul PDC Emulator, caută în Security log evenimentele cu ID 4740. Câmpul Caller Computer Name conține numele calculatorului care a trimis ultima parolă greșită. Scriptul PowerShell de mai sus automatizează interogarea.

De ce se blochează contul în mod repetat după ce schimb parola?

Cel mai probabil un dispozitiv mobil, un serviciu Windows, o mapare de rețea sau o sesiune RDP veche cache-uiește parola anterioară și o trimite în continuare. Identifică sursa cu Event ID 4740 pe PDC, apoi 4625 pe stația-sursă pentru a vedea exact ce proces încearcă autentificarea.

Cum deblochez un cont AD cu PowerShell?

Cu RSAT-ADDS instalat, comanda este Unlock-ADAccount -Identity nume.utilizator. Verifică imediat starea cu Get-ADUser nume.utilizator -Properties LockedOut.

Care este politica recomandată de blocare în 2026?

NIST și Microsoft recomandă în 2026 un threshold de 5-10 încercări eșuate, durată de blocare 15-30 minute cu auto-deblocare și o fereastră de reset de 15 minute. Pentru conturile privilegiate, aplică Fine-Grained Password Policies cu reguli mai stricte.

Pot detecta atacurile de tip password spray prin Event ID 4740?

Indirect, da. Un volum anormal de evenimente 4740 cu surse diferite, pe perioade scurte, indică un atac. Mai precise sunt Event ID 4625 cu Logon Type 3 și aceeași adresă IP sursă pentru utilizatori multipli. Configurează un alert SIEM pe această corelație și o să dormi mai liniștit.

Despre Autor Editorial Team

Our team of expert writers and editors.