PowerShell : comment interroger pwdLastSet et obtenir un résultat compréhensible ?

J’ai besoin d’obtenir la dernière modification de mot de passe pour un groupe de comptes dans un groupe de sécurité Active Directory, et j’ai l’impression que PowerShell devrait être bon pour cela.

Pour le moment, je suis déjà bloqué sur la façon de lire l’attribut pwdLastSet du compte AD que je consulte. Même en exécutant quelque chose de simple comme ceci :

[adsi] "LDAP://cn=user1,ou=Staff,ou=User Accounts,dc=ramalamadingdong,dc=net" | Format-List *

les résultats pour pwdLastSet apparaissent ainsi :

pwdLastSet            : {System.__ComObject}

J’ai l’impression de m’y prendre de la mauvaise façon, alors quelle est la meilleure façon d’interroger puis de formater la sortie (la valeur est basée sur l’époque Windows et n’est pas très lisible par l’homme) de l’attribut pwdLastSet ?

Les cmdlets AD intégrées qui sont livrées avec Windows 7/Windows Server 2008 R2 peuvent désormais le faire assez simplement. Sur Windows 7, depuis une invite PowerShell :

Import-Module ActiveDirectory
Get-ADUser 'user1' -properties PasswordLastSet | Format-List

L’attribut « PasswordLastSet » semble être une version traduite de l’attribut réel « pwdLastSet ».