De nombreuses organisations ont des stratégies qui obligent les utilisateurs à changer périodiquement leurs mots de passe. Si le mot de passe n'est pas modifié avant la date d'expiration, les utilisateurs seront obligés de définir un nouveau mot de passe lorsqu'ils se connecteront pour la première fois après son expiration.
Bien qu'il s'agisse d'un inconvénient mineur pour les utilisateurs qui se trouvent dans le réseau de l'entreprise, les utilisateurs distants seront bloqués. En effet, les tâches sensibles telles que la réinitialisation des mots de passe doivent être effectuées uniquement à l'intérieur du réseau d'entreprise hébergeant Active Directory (AD). Contacter le service informatique pour réinitialiser le mot de passe ne sert à rien, car l'appareil doit se trouver physiquement dans l'intranet de l'entreprise pour être reconnu.
Les administrateurs peuvent utiliser des scripts PowerShell pour obtenir les dates d'expiration des mots de passe des utilisateurs AD et leur envoyer un e-mail leur demandant de changer leur mot de passe quelques jours à l'avance. Comme les outils natifs de l'interface graphique d'Active Directory n'offrent pas cette fonctionnalité, il faut utiliser des scripts PowerShell pour envoyer des e-mails d'expiration de mot de passe.
ManageEngine ADSelfService Plus, une solution de sécurité d'identité, prend également en charge l'envoi de notifications d'expiration de mot de passe aux utilisateurs AD.
Le script PowerShell fourni ici de notification d'expiration de mot de passe envoie des rappels par e-mail aux utilisateurs Active Directory concernant l'expiration de leur mot de passe.
Vous trouverez ci-dessous une comparaison entre l'utilisation de scripts PowerShell pour envoyer des e-mails d'expiration de mot de passe et l'utilisation d'ADSelfService Plus.
#Import AD Module
Import-Module ActiveDirectory
#Create warning dates for future password expiration
$SevenDayWarnDate = (get-date).adddays(7).ToLongDateString()
#Email Variables
$MailSender = " Password AutoBot <emailaddress@somecompany.com>"
$Subject = 'FYI - Your account password will expire soon'
$EmailStub1 = 'I am a bot and performed this action automatically. I am here to inform you that the password for'
$EmailStub2 = 'will expire in'
$EmailStub3 = 'days on'
$EmailStub4 = '. Please contact the help desk if you need assistance changing your password. DO NOT REPLY TO THIS EMAIL.'
$SMTPServer = 'smtp.somecompany.com'
#Find accounts that are enabled and have expiring passwords
$users = Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False -and PasswordLastSet -gt 0 } `
-Properties "Name", "EmailAddress", "msDS-UserPasswordExpiryTimeComputed" | Select-Object -Property "Name", "EmailAddress", `
@{Name = "PasswordExpiry"; Expression = {[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed").tolongdatestring() }}
#check password expiration date and send email on match
foreach ($user in $users) {
if ($user.PasswordExpiry -eq $SevenDayWarnDate) {
$days = 7
$EmailBody = $EmailStub1, $user.name, $EmailStub2, $days, $EmailStub3, $SevenDayWarnDate, $EmailStub4 -join ' '
Send-MailMessage -To $user.EmailAddress -From $MailSender -SmtpServer $SMTPServer -Subject $Subject -Body $EmailBody
}
else {}
}
Avec ADSelfService Plus, il vous suffit de quelques clics pour configurer des rappels d'expiration de mot de passe pour les utilisateurs du domaine. Les scripts PowerShell doivent être créés, débogués et exécutés.
Avec ADSelfService Plus, vous pouvez choisir entre l'envoi de courrier, de SMS et de notifications push en un seul clic. Dans l'exemple ci-dessus, PowerShell est utilisé pour fournir des notifications par e-mail pour les expirations de mot de passe. PowerShell peut également être utilisé pour envoyer des SMS et des notifications push, mais cela nécessite la création d'un script extrêmement compliqué.
Dans ADSelfService Plus, vous pouvez choisir d'exclure les utilisateurs désactivés et les utilisateurs de cartes à puce de la réception des notifications. Des e-mails de notification de l'état de la livraison peuvent également être envoyés aux responsables des utilisateurs et aux administrateurs de l'organisation.
Une fois qu'une notification d'expiration de mot de passe a été configuré dans ADSelfService Plus, elle peut être éditée facilement en sélectionnant la notification à éditer et en changeant les valeurs des paramètres comme requis. Avec PowerShell, en apportant des modifications au script de notification, des fautes de frappe et autres erreurs humaines sont inévitables.
Rédigez des notifications par e-mail en HTML pour attirer l'attention des utilisateurs ou envoyez des messages différents selon les jours précédant l'expiration du mot de passe. PowerShell permet d'envoyer des e-mails au format HTML, mais le processus peut être assez long.
Notifier les utilisateurs d'Active Directory de l'expiration de leur mot de passe.
Obtenez un essai gratuit de 30 jours