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 !
Partager