Utilisation de PowerShell pour gérer les réinitialisations de mot de passe dans les domaines Windows

Stacked folder

Le mois dernier, la Maison Blanche a émis une recommandation selon laquelle tout le monde change son mot de passe afin d’éviter une violation potentielle. Bien qu’une telle demande semble assez simple, l’application des changements de mot de passe dans toute une organisation est un défi de taille.

Bien qu’il soit relativement facile pour une organisation de contacter tous ses employés et de leur dire de réinitialiser leurs mots de passe, il y a de fortes chances que la plupart des gens ignorent la demande. Certains utilisateurs sont paresseux et ne veulent tout simplement pas être dérangés par la modification de leurs mots de passe. D’autres utilisateurs peuvent envisager de changer leur mot de passe, mais être distraits par d’autres choses et oublier de faire le changement. D’autres encore prétendront avoir changé leur mot de passe, alors qu’en réalité leur mot de passe reste inchangé.

Rechercher qui doit réinitialiser son mot de passe

Alors, comment une organisation peut-elle déterminer quels utilisateurs ont et n’ont pas changé leurs mots de passe ? Une façon d’accomplir une telle tâche consiste à utiliser la console Utilisateurs et ordinateurs Active Directory.

Une fois la console ouverte, sélectionnez la commande Fonctionnalités avancées dans le menu Affichage. Ensuite, sélectionnez le conteneur Utilisateurs Cliquez avec le bouton droit sur l’utilisateur dont vous souhaitez examiner l’historique des modifications de mot de passe, puis choisissez la commande Propriétés dans le menu contextuel. Lorsque la feuille de propriétés utilisateur s’ouvre, sélectionnez l’onglet Éditeur d’attributs.

Cet onglet répertorie des dizaines d’attributs liés au compte utilisateur. Vous pouvez trouver la date du changement de mot de passe le plus récent de l’utilisateur en examinant l’attribut PwdLastSet, illustré à la figure 1. Il convient de noter que si l’utilisateur n’a jamais changé son mot de passe, l’attribut PwdLastSet affichera la date à laquelle le compte a été créé. (en supposant qu’un mot de passe ait été attribué au compte au moment de sa création).

1651674907 962 Utilisation de PowerShell pour gerer les reinitialisations de mot de
L’attribut PwdLastSet reflète la date du dernier changement de mot de passe de l’utilisateur.

Accélérez les choses avec PowerShell

Bien sûr, le principal inconvénient de cette approche est qu’elle vous oblige à vérifier chaque compte individuellement. Vous pouvez contourner cette limitation en utilisant PowerShell.

Pour ce faire, vous devrez vous assurer que le module Active Directory de PowerShell est chargé. La commande utilisée pour récupérer la date à laquelle le mot de passe d’un utilisateur a été modifié pour la dernière fois est :

Get-ADUser -Properties PasswordLastSet

Vous pouvez voir comment cette commande fonctionne ici :

1651674907 989 Utilisation de PowerShell pour gerer les reinitialisations de mot de
C’est ainsi que vous utilisez PowerShell pour déterminer quand le mot de passe d’un utilisateur a été modifié pour la dernière fois.

Dans cet exemple, seule la date de modification du mot de passe d’un utilisateur est affichée, mais il existe plusieurs façons d’indiquer à l’applet de commande Get-ADUser d’afficher les données de plusieurs comptes d’utilisateurs. Par exemple, cette commande entraînera l’affichage de la date du dernier changement de mot de passe pour tous les utilisateurs :

Get-ADUser -Filter * -Properties PasswordLastSet

Vous pouvez voir à quoi ressemble cette commande ici :

1651674907 265 Utilisation de PowerShell pour gerer les reinitialisations de mot de
Vous pouvez demander à PowerShell d’afficher la date de changement de mot de passe la plus récente pour chaque utilisateur.

Aussi utiles que puissent être ces informations, vous devrez toujours analyser les données produites par PowerShell. Cela peut signifier trier la sortie par date ou exporter les données vers une feuille de calcul Excel. Bien que PowerShell vous permette d’effectuer ces types d’actions, elles sont plus complexes que la simple récupération de la seule date de changement de mot de passe. Si par exemple, vous souhaitez voir une liste de tous vos comptes d’utilisateurs triés par date de changement de mot de passe, vous pouvez utiliser cette commande :

Get-ADUser -Filter * -Properties PasswordLastSet | Sort-Object -Property PasswordLastSet | Select-Object Name, PasswordLastSet

Vous pouvez voir la sortie de la commande ici :

1651674907 545 Utilisation de PowerShell pour gerer les reinitialisations de mot de
Vous pouvez utiliser get PowerShell pour trier les dates des modifications de mot de passe les plus récentes de l’utilisateur.

Tout cela pour dire que vous pouvez utiliser PowerShell pour déterminer qui a changé son mot de passe et qui ne l’a pas fait. Cependant, la vraie question est de savoir si un changement de mot de passe vaut vraiment la complexité de plonger dans PowerShell ? Cette question semble particulièrement pertinente étant donné que CISA, Microsoft et d’autres experts en cybersécurité déconseillent désormais les changements de mot de passe programmés.

Une solution durable aux questions sur l’âge du mot de passe

Bien que la directive de la Maison Blanche soit, espérons-le, un événement ponctuel, les organisations ne savent jamais vraiment quand une situation inattendue peut nécessiter un changement de mot de passe à l’échelle de l’organisation. Si un tel événement se produisait, le temps serait très probablement compté et il serait donc important de donner aux utilisateurs un moyen simple d’effectuer le changement de mot de passe. Il sera tout aussi important de donner au service informatique un moyen simple de vérifier les changements de mot de passe. Après tout, vous ne voulez vraiment pas essayer de reconstituer du code PowerShell au milieu d’une situation de crise.

Une meilleure alternative est d’utiliser Auditeur de mot de passe Specops. La dernière version de Specops Password Auditor contient un outil que les administrateurs peuvent utiliser pour déterminer qui a et qui n’a pas changé son mot de passe depuis une certaine date. Testez-le gratuitement dans votre Active Directory pour vérifier que votre organisation s’est conformée aux récentes recommandations de changement de mot de passe.

Sponsorisé par Forces spéciales