Identificarea și blocarea automată a conturilor inactive în Active Directory

Configurare noua (How To)

Situatie

Conturile de utilizatori sau computere care au rămas active în Active Directory, deși angajații au plecat sau PC-urile au fost casate, reprezintă o breșă majoră de securitate. În loc să le cauți manual, acest script le identifică și generează un raport clar.

Solutie

Scriptul PowerShell (Find-InactiveAccounts.ps1)

# — CONFIGURARE —
$zileInactivitate = 90
# ——————-

# Importă modulul de Active Directory
Import-Module ActiveDirectory

$dataLimita = (Get-Date).AddDays(-$zileInactivitate)

Write-Host “Se caută utilizatorii inactivi de mai mult de $zileInactivitate zile…” -ForegroundColor Cyan

# Preluăm utilizatorii inactivi care sunt încă activați (Enabled)
$useriInactivi = Get-ADUser -Filter {Enabled -eq $true} -Properties LastLogonDate, Description |
Where-Object { $_.LastLogonDate -lt $dataLimita -and $_.LastLogonDate -ne $null } |
Select-Object Name, SamAccountName, LastLogonDate, Description

if ($useriInactivi) {
Write-Host “⚠️ S-au găsit $($useriInactivi.Count) conturi de utilizator inactive:” -ForegroundColor Yellow
$useriInactivi | Format-Table -AutoSize

# OPȚIONAL: Pentru a le dezactiva automat, decomentează linia de mai jos:
# $useriInactivi | ForEach-Object { Disable-ADAccount -Identity $_.SamAccountName; Write-Host “Dezactivat: $($_.Name)” -ForegroundColor Red }
} else {
Write-Host “✅ Nu s-au găsit conturi de utilizator inactive.” -ForegroundColor Green
}

Ce trebuie să modifici în script?

$zileInactivitate = 90 -> Standardul din industrie pentru conturi “stale” este de 90 de zile, dar poți schimba valoarea în 30 sau 180 în funcție de politica companiei.

Dezactivarea automată: Din fabrică, scriptul doar afișează conturile (Safe Mode). Dacă vrei ca scriptul să le și dezactiveze automat la rulare, șterge caracterul # din fața ultimei linii de cod.

Tip solutie

Permanent

Voteaza

(4 din 4 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?