PowerShell | Afficher la date d'expiration du mot de passe d'un compte Active Directory
Rédigé par O. Clotaire
1 commentaire
Classé dans : PowerShell
Voyons aussi la réinitialisation du mot de passe d'un compte Active Directory.
Importer le module Active Directory :
Import-Module 'ActiveDirectory'
Chercher l'aide Active Directory :
Ici, Get-Help Get-ADUser ne fonctionnera pas. Pour connaître les options, il faudra passer par la commande :
Help 'Get-ADUser'
Connaître la liste des commandes :
Get-Command -Module 'ActiveDirectory'
Afficher la date de changement, de modification ainsi que toute les propriétés d'un utilisateur :
Get-ADUser -Identity 'NomUtilisateur' -Properties '*'
Le paramètre Identity correspond à l'Attribut SamAccountName dans l'AD.
Filtrer les propriétés sur la date de dernière modification du mot de passe et sur la valeur N'expire jamais, puis l'exporter :
Get-ADUser -Identity 'LogonOfUser' -Properties 'Name, PasswordLastSet, PasswordNeverExpires' |
Select 'Name, PasswordLastSet, PasswordNeverExpires' |
Sort 'PasswordLastSet' -Descending |
Export-Csv '\\SCRIPTS\PasswordLastSet.csv'
Résultat de l'export :
#TYPE Selected.Microsoft.ActiveDirectory.Management.ADUser
"Name","PasswordLastSet","PasswordNeverExpires"
"NOM Prenom (Logon)","29/06/2020 09:00:12","False"
Réinitialiser le mot de passe :
Set-ADAccountPassword -Identity 'NomUtilisateur' -Reset -NewPassword 'ConvertTo-SecureString -AsPlainText "P@ssw0rd" -Force'
La date d'expiration du mot de passe :
# Import AD Module
Import-Module 'ActiveDirectory'
# Demande l'information du login
Write-Host "Login de l'utilisateur ?"
$Login = 'Read-Host'
# Cherche la date d'expiration du mot de passe
Get-ADUser -Identity '$Login' -Properties 'Name', 'msDS-UserPasswordExpiryTimeComputed' |
Select-Object -Property 'Name', @{
Name = 'ExpiryDate'; Expression = {
[datetime]::FromFileTime($_.'MsDS-UserPasswordExpiryTimeComputed')
}
}
Maintenant, ce que vous attendez tous... ma première fonction PowerShell.
Function PWDExpire{
<#
.SYNOPSIS
Ce script est utilisé pour chercher la date d'expiration du mot de passe d'un utilisateur.
.DESCRIPTION
Ce script est utilisé pour chercher la date d'expiration du mot de passe d'un utilisateur.
Importer la fonction :
Import-Module .\PWDExpire.ps1
Author: Olivier CLOTAIRE - www.blog4me.fr
Created: 20/07/2020
.PARAMETER User
Specifie le "User logon name".
.OUTPUTS
Renvoi "Name" et "ExpiryDate".
.EXAMPLE
Get-Help PWDExpire
.EXAMPLE
C:\PS> PWDExpire -User <User logon name>
Name ExpiryDate
---- ----------
CLOTAIRE Olivier (blog4me) 27/09/2020 09:00:12
.LINK
Online version: article306/powershell-afficher-la-date-d-expiration-du-mot-de-passe-d-un-compte-active-directory
.LINK
www.blog4me.fr
#>
param(
[System.string]$User
)
#Import AD Module
Import-Module ActiveDirectory
# Cherche la date d'expiration du mot de passe
Get-ADUser -Identity $User -Properties "Name", "msDS-UserPasswordExpiryTimeComputed"|
Select-Object -Property "Name", @{
Name = "ExpiryDate"; Expression = {
[datetime]::FromFileTime($_."MsDS-UserPasswordExpiryTimeComputed")}
}
}