2008_R2中使用web方式修改域用户账户密码
在Windows 的domain 环境下,加域的客户端修改账户密码是一件很easy 的事情;即使没有加域的客户端如果组织中,使用Exchange 邮件系统,借助Exchange 的owa 也可以轻松修
在Windows 的domain 环境下,加域的客户端修改账户密码是一件很easy 的事情;即使没有加域的客户端如果组织中,使用Exchange 邮件系统,借助Exchange 的owa 也可以轻松修改账户密码。
前段时间搞Web Portal 认证时,由于存在少量的LDAP 用户,该Web Portal认证不支持AD LDAP双认证。为了让这部分用户也能够实现认证,采用了域名 用户名(避免和域用户重名)的方式导进了AD 中,并设置了初始密码。可是问题也出现了,这部分用户不加域也没有Exchange 邮箱,如何才能第一次登陆修改密码呢?
记得在Windows 2003 IIS中自带修改域用户密码的ASP 网页文件iisadmpwd 模块,可以通过web 方式修改域用户密码。但是IIS 7上不再支持iisadmpwd 功能,正常安装windows server 2008及IIS 将不会有iisadmpwd 模块。那如何将该模块移植到Windows Server 2008 R2中呢?
1、首先找一台Server2003系统,确认已安装好Internet 信息服务(IIS )。
然后进入C:WINDOWSsystem32inetsrviisadmpwd目录,copy iisadmpwd这个目录及子文件。

2、Server 2008 R2系统准备
安装好Web 服务器(IIS ),并且确认IIS6脚本工具 已安装。
由于我们的Server 2008 R2是64位系统,所以需要将copy 的iisadmpwd 目录放在系统的C:WindowsSysWOW64inetsrv目录中


注册Iisadmpwd 目录下的IISpwchg.dll 文件:
以管理员身份运行命令提示符,输入下面的命令,然后回车
regsvr32 C:WindowsSysWOW64inetsrviisadmpwdiispwchg.dll
配置PasswordChangeFlags 属性,来确保密码修改这个功能可用:以管理员身份运行命令提示符,切换到C:InetpubAdminscripts目录,输入下面命令,然后回车
cscript.exe adsutil.vbs set w3svc/passwordchangeflags 0


注:设置PasswordChangeFlags 属性的值,你可以组合使用
0:默认值,表示用ssl 连接来更改密码
1:允许无安全的端口来更改密码,这个对于ssl 功能被禁很有用
2:禁止更改密码
3、配置IIS7
4、禁止密码过期提示
首先确认默认网站(default web site)的https 可用,且绑定好证书;
打开Internet 信息服务(IIS )管理器。点击 “default web site ”站点,然后点击右侧操作栏的“绑定”
选择“https ”协议,然后点击“编辑”,在ssl 证书中选择本机服务器的证书
配置好https 后,再次右击“default web site”,菜单中选择“添加应用程序”



打开添加应用程序向导,别名中填入“iisadmpwd ”(名称可以自定义,但建议使用默认的这个),物理路径中,点击浏览选择iisadmpwd 目录,最后点击“确定”
返回default web site默认站点,点击iisadmpwd 虚拟目录,打开默认文档中添加iisadmpwd 的默认页aexp2.asp


然后返回iisadmpwd 目录,打开“SSL 设置”,取消“要求SSL (Q )”


4、修改域用户密码
打开浏览器,输入http://servername/iisadmpwd ,输入账户信息及新密码,然后点击“确定”。由于我们启用了https 协议,https://servername/iisadmpwd 同样可以访问


修改密码会直接调用https 协议访问相应的asp 脚本,点击“继续浏览此网站(不推荐)”


最后显示密码修改成功。
附:当输入用户名及密码,点击确定后,显示“无法显示该网页”时,请确认默认站点的绑定中,https 协议已启用并配置的正确的证书。


