Are you allowing the script to run as a domain admin, or is the script being forced to "Run as administrator"? If not, the user would have to provide the old password, too. That would expose the old password to the script and allow the script to pose as that user for a period of time (one hour, if I recall correctly).
You could try using Fine Grained Password Policy, too.