Hi - The company I work for (I'm the lead of our support team and my background is in AD security and Exchange) has a super tool that does exactly this, does it easy + reliably, and is overall quite awesome.
Password Reminder PRO
http://www.sysoptools.com
Allows you to:
Enforce a global domain password expiration policy for your users with lower support overhead
Easily alert users in advance of when their password is expiring, at multiple intervals
Designed to work with all types of domains and active directories
Designed to work with Exchange (but will work with any mail server)
Lower help desk calls from users and instances of users with expired accounts
Gives you complete reporting on your AD user accounts.
"Smart" reminders do not pam users or send reminders to obvious system, service and resource accounts.
This is a great tool that not only gives you ability to alert users of expiring passwords but also provides a very specific reporting console for review of AD user objects. no scripting, smtp or iis installation is required, and there is also an included "QA" mode which allows you to fully test it our in your environmnt without disturbing your users.
Fully automated and simple for any non-scripter to install / deploy / support.
While I openly do work for the company, as a long-time scripter and domain admin our tool is a drastic improvemnt above using a VB script, and the reminders sent to users are customizable to your environment.
Plus we offer a 60 day free full-featured version to try in your domain, and full tech support during your trial period.
EggHeadCafe.com - .NET Developer Portal of Choice
http://www.eggheadcafe.com