La gestione quotidiana degli account Active Directory comprende operazioni come il reset della password, lo sblocco di account bloccati e il controllo della scadenza. Con PowerShell è possibile eseguire queste operazioni singolarmente o in batch su più utenti contemporaneamente.
Sintassi dei comandi
Resettare la password di un utente
Set-ADAccountPassword -Identity "mario.rossi" `
-NewPassword (ConvertTo-SecureString "NuovaP@ss1!" -AsPlainText -Force) `
-ResetForzare il cambio password al prossimo accesso
Set-ADUser -Identity "mario.rossi" -ChangePasswordAtLogon $trueSbloccare un account bloccato
Unlock-ADAccount -Identity "mario.rossi"Verificare se un account è bloccato
Get-ADUser -Identity "mario.rossi" -Properties LockedOut, BadLogonCount, LastBadPasswordAttempt |
Select-Object Name, LockedOut, BadLogonCount, LastBadPasswordAttemptTrovare tutti gli account bloccati nel dominio
Search-ADAccount -LockedOut | Select-Object Name, SamAccountName, LastLogonDateGestire la scadenza della password
# Impostare una data di scadenza
Set-ADAccountExpiration -Identity "mario.rossi" -DateTime "2026-12-31"
# Rimuovere la scadenza (account senza scadenza)
Clear-ADAccountExpiration -Identity "mario.rossi"
# Verificare la scadenza
Get-ADUser -Identity "mario.rossi" -Properties AccountExpirationDate |
Select-Object Name, AccountExpirationDateTrovare account con password scaduta
Search-ADAccount -PasswordExpired | Select-Object Name, SamAccountName, PasswordExpiredTrovare account con password in scadenza nei prossimi N giorni
$giorni = 7
Search-ADAccount -AccountExpiring -TimeSpan (New-TimeSpan -Days $giorni) |
Select-Object Name, SamAccountName, AccountExpirationDateEsempio di utilizzo
Scenario: un utente è bloccato dopo troppi tentativi errati. È necessario sbloccare l’account, assegnare una password temporanea e obbligarlo a cambiarla al prossimo accesso.
$utente = "mario.rossi"
# 1. Verificare lo stato dell'account
Get-ADUser -Identity $utente -Properties LockedOut, BadLogonCount |
Select-Object Name, LockedOut, BadLogonCount
# 2. Sbloccare l'account
Unlock-ADAccount -Identity $utente
# 3. Impostare una password temporanea
Set-ADAccountPassword -Identity $utente `
-NewPassword (ConvertTo-SecureString "Temp@1234!" -AsPlainText -Force) `
-Reset
# 4. Forzare il cambio password al prossimo accesso
Set-ADUser -Identity $utente -ChangePasswordAtLogon $true
# 5. Verifica finale
Get-ADUser -Identity $utente -Properties LockedOut, PasswordExpired, ChangePasswordAtLogon |
Select-Object Name, LockedOut, PasswordExpired, ChangePasswordAtLogonOutput atteso
Name LockedOut PasswordExpired ChangePasswordAtLogon
---- --------- --------------- ---------------------
Mario Rossi False False TrueL’elenco degli articoli di questa serie può essere consultato qui