Bonjour,
Voici un script pour envoyer un mail aux utilisateurs de votre Active Directory lorsque le mot de passe arrive à expiration.
Je précise qu'il faut avoir renseigné l'e-mail de l'utilisateur dans le profil de celui-ci.
Vous pouvez faire une tâche planifié pour qu'il tourne chaque jour.
Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
$ExpireDays = 7
Import-Module ActiveDirectory
$AllUsers = get-aduser -filter * -properties * | Where-Object {$_.Enabled -eq "True"} | Where-Object { $_.PasswordNeverExpires -eq $false } | Where-Object { $_.passwordexpired -eq $false }
foreach ($User in $AllUsers)
{
  $Name = (Get-ADUser $User | ForEach-Object { $_.Name})
  $Email = $User.emailaddress
  $PasswdSetDate = (get-aduser $User -properties * | ForEach-Object { $_.PasswordLastSet })
  $MaxPasswdAge = (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge
  $ExpireDate = $PasswdSetDate + $MaxPasswdAge
  $Today = (get-date)
  $DaysToExpire = (New-TimeSpan -Start $Today -End $ExpireDate).Days
  if ( $(($DaysToExpire -lt $ExpireDays)) )
  {
     $EmailSubject="Expiration du mot de passe windows dans $DaystoExpire jours"
  $Message="
  Bonjour $Name,
  <p> Votre mot de passe de session windows va expirer dans $DaysToExpire jours.<br />
  Pour le changer, il vous suffit d appuyer sur CTRL+ALT+Del et clic sur changer le mot de passe. <br />
 
  <p><B>Le mot de passe doit:</B> </p>
 
Mettez les caractéristiques de votre AD
 
 
<p>Si vous ne changez pas votre mot de passe en $DaysToExpire jours, tous les lecteurs reseaux seront coupes et certaines applications pourraient ne plus fonctionner. <br /></p>
<p>Tant que le mot de passe ne sera pas modifie, vous recevrez ce message tous les jours. <br /></p>
<p>Si vous avez le moindre probleme, merci de contacter l'équipe Infra) ! <br /></p>
 
 
Cordialement<br />
  </p>"
  $smtp = "votreserveursmtp" 
 
  $to = "$Email" 
 
 $from = "inserervotremail" 
 
 $subject = "$EmailSubject"  
 
 $body = "$Message" 
 
  #On envoie le mail let's go > Send-MailMessage  
 
  send-MailMessage -SmtpServer $smtp -To $to -From $from -Subject $subject -Body $body -BodyAsHtml 
 
  }
 
  }

Désolé si quelqu'un l'a déjà posté, je suis débutant, j'ai galéré avec un code trouvé sur internet .. je suis donc content de le partager.

Bonne journée à vous et bon courage !