PowerShell | Afficher la date d'expiration du mot de passe d'un compte Active Directory

Rédigé par O. Clotaire Aucun commentaire
Classé dans : PowerShell Mots clés : Active Directory, Exchange, Office, Windows, PowerShell
Utilisons Get-ADUser pour chercher dans les propriétés des comptes utilisateurs, les dates d’expiration et de modification du mot de passe. 

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")}
    }
}

A PROPOS

  • Grace à mon expérience dans les Systèmes d'Information, j'ai le privilège de partager mon expérience en les centralisant sous la forme d’une base de connaissance.
  • Parfois certaines de nos questions ne trouvent pas toujours de réponse. Le domaine de l’informatique évolue rapidement, il est alors important de pouvoir profiter des solutions déjà expérimentés.
  • Ce site sera de plus en plus accessible.
  • Je vous remercie d’avance pour vos éventuelles remarques constructives permettant son amélioration.

Écrire un commentaire

 Se rappeler de moi sur ce site
Quelle est le premier caractère du mot psmti1r ?

Fil RSS des commentaires de cet article

↓