Since Microsoft, in their infinite wisdom, changed password expiry notification from alert dialog to balloon popup we’ve had numerous incidents of users missing the warnings and their passwords expiring midway through the day.
Having looked at ways to overcome this the only possible solution seemed to be either though login scripts or third party solutions. Recently I came across an excellent powershell script which can be easily configured to send out emails to users when their password nears expiry.
Download the script from https://gallery.technet.microsoft.com/Password-Expiry-Email-177c3e27 and save it on your Domain Controller (DC). Modify a few parameters.
The important parameters are $smtpServer, $expireindays and $from, initially you might want to set $testing to Enabled to check the email notifications work correctly .
Modify the $body parameter to customise your email. I did notice a slight quirk with the expiry days message.
If you want to change this modify the following block of code:
This will ensure emails with correct message is sent out:
Finally, launch Task Scheduler and schedule the script to run once a day.