PowerShell - Tester les identifiants utilisateur dans AD, avec réinitialisation du mot de passe

J’ai besoin d’un script PowerShell qui teste les identifiants d’un utilisateur dans AD et qui puisse aussi réinitialiser le mot de passe si nécessaire. Comment valider un nom d’utilisateur et un mot de passe contre Active Directory via PowerShell ?

Voici comment tester les identifiants d’un utilisateur dans AD avec PowerShell :

$username = "utilisateur"
$password = "motdepasse"
$domain = "DOMAINE"

Add-Type -AssemblyName System.DirectoryServices.AccountManagement
$ct = [System.DirectoryServices.AccountManagement.ContextType]::Domain
$pc = New-Object System.DirectoryServices.AccountManagement.PrincipalContext($ct, $domain)
$result = $pc.ValidateCredentials($username, $password)
Write-Output "Identifiants valides : $result"

Pour réinitialiser le mot de passe :

Set-ADAccountPassword -Identity $username -Reset -NewPassword (ConvertTo-SecureString "NouveauMotDePasse" -AsPlainText -Force)