Comment changer le mot de passe d’un compte AD avec PowerShell

Modifier le mot de passe d’un compte AD avec PowerShell

La gestion des utilisateurs implique également de gérer le cycle de vie de ces comptes utilisateurs, et il y a fort à parier qu’un jour on vous demande de réinitialiser le mot de passe d’un compte utilisateur, voire même de plusieurs utilisateurs. Par ailleurs, dans un processus de désactivation des comptes utilisateurs, il peut être intéressant de systématiquement réinitialiser le mot de passe du compte en question.

Réinitialiser un mot de passe d’un utilisateur Active Directory

Le cmdlet “Set-ADAccountPassword” intégré au module Active Directory de PowerShell sera notre allié pour réaliser cette action.

L’utilisation de cette commande nécessite de spécifier plusieurs paramètres :

  • “-Identity” pour spécifier l’utilisateur cible
  • “-NewPassword” pour indiquer le nouveau mot de passe (via une chaîne SecureString)
  • “-Reset” pour indiquer que nous souhaitons réinitialiser le mot de passe

Pour modifier le mot de passe de l’utilisateur “j.nanas”, cela donne :

Set-ADAccountPassword -Identity j.nanas -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "GhYjKb!M05n" -Force)

En fait, le fait d’indiquer “-Reset” permet de réinitialiser le mot de passe, c’est-à-dire qu’on le change sans connaître le mot de passe actuel, car les droits le permettent.

Pour respecter le processus classique où l’on se met dans la peau d’un utilisateur, il faudrait spécifier à la fois le mot de passe actuel et le nouveau mot de passe, dans ce cas il serait nécessaire d’utiliser le paramètre -OldPassword à la place de -Reset. Néanmoins, dans un script il faudra toujours utiliser la commande via le -Reset, mais c’est intéressant de connaître les deux options.

LIRE  TCF – Intégration, Résidence et Nationalité

Par ailleurs, si vous souhaitez simplement modifier un mot de passe et avoir un prompt qui vous demande de le saisir deux fois :

Set-ADAccountPassword -Identity j.nanas -Reset

Modifier des mots de passe en lot

Pour réinitialiser des mots de passe pour un lot d’utilisateurs, on peut se baser sur un fichier CSV ou alors cibler une unité d’organisation spécifique dans l’Active Directory.

Voici le lien vers cet article : Modifier des mots de passe en lot dans l’AD

Demander à l’utilisateur de changer son mot de passe

Réinitialiser le mot de passe c’est une chose, mais vous ne devez pas oublier que vous devez lui demander de le personnaliser à la prochaine ouverture de session.

Cela nécessite une action supplémentaire afin d’activer l’option “L’utilisateur devra changer le mot de passe” dans les propriétés de l’objet de cet utilisateur.

En l’occurrence, pour demander à l’utilisateur “j.nanas” de modifier son mot de passe à la prochaine ouverture de session, il faudra modifier le compte utilisateur avec cette commande :

Set-ADUser -Identity j.nanas -ChangePasswordAtLogon $true

Nous passons simplement le paramètre -ChangePasswordAtLogon sur $true (vrai) afin d’activer l’option “L’utilisateur devra changer le mot de passe”.