在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中呢?

一、如果通过web方式修改用户名密码方法如下:

1、首先我们需要在windows server 2003的服务器上已安装iis角色

 

Windows Server 2012中通过WEB修改域用户账号密码_第1张图片

然后到C:\WINDOWS\system32\inetsrv目录下,复制iisadmpwd文件。

2、回到windows server 2012上确认IIS角色已安装完成。

Windows Server 2012中通过WEB修改域用户账号密码_第2张图片

3、由于我们的是windows server 2012 x64位系统,所以需要将copy的iisadmpwd目录放在系统的C:\Windows\SysWOW64\inetsrv\目录中

Windows Server 2012中通过WEB修改域用户账号密码_第3张图片

4、注册Iisadmpwd目录下的IISpwchg.dll文件:以管理员身份运行命令提示符,输入下面的命令 regsvr32 C:\Windows\SysWOW64\inetsrv\iisadmpwd\iispwchg.dll 然后回车

Windows Server 2012中通过WEB修改域用户账号密码_第4张图片

5、配置PasswordChangeFlags属性,来确保密码修改这个功能可用:

以管理员身份运行命令提示符,切换到C:\Inetpub\Adminscripts目录,输入下面命令, cscript.exe adsutil.vbs set w3svc/passwordchangeflags 0  然后回车

Windows Server 2012中通过WEB修改域用户账号密码_第5张图片

注:设置PasswordChangeFlags属性的值,你可以组合使用:

0:默认值,表示用ssl连接来更改密码

1:允许无安全的端口来更改密码,这个对于ssl功能被禁很有用

2:禁止更改密码

        4 : 禁止密码过期提示

二、下面我们进入IIS的配置

1、首先确认默认网站(default web site)的https可用,且绑定好证书;

打开Internet信息服务(IIS)管理器。点击 “default web site ”站点,然后点击右侧操作栏的“绑定”

Windows Server 2012中通过WEB修改域用户账号密码_第6张图片

2、选择“https”协议,然后点击“编辑”,在ssl证书中选择本机服务器的证书,点击确定即可

Windows Server 2012中通过WEB修改域用户账号密码_第7张图片

3、配置好https后,再次右击“default web site”,菜单中选择“添加应用程序”

Windows Server 2012中通过WEB修改域用户账号密码_第8张图片

4、打开添加应用程序向导,别名中填入“iisadmpwd”(名称可以自定义,但建议使用默认的路径),物理路径中,点击浏览选择iisadmpwd目录,最后点击“确定

Windows Server 2012中通过WEB修改域用户账号密码_第9张图片

5、返回default web site默认站点,点击iisadmpwd虚拟目录,打开默认文档中添加iisadmpwd的默认页aexp2.asp

Windows Server 2012中通过WEB修改域用户账号密码_第10张图片

6、下面的aexp2.asp是自己手工添加的

Windows Server 2012中通过WEB修改域用户账号密码_第11张图片

7、然后返回iisadmpwd目录,打开“SSL设置”

Windows Server 2012中通过WEB修改域用户账号密码_第12张图片

8、默认情况下是忽略

Windows Server 2012中通过WEB修改域用户账号密码_第13张图片

9、修改域用户密码:

打开浏览器,输入http://servername/iisadmpwd ,输入账户信息及新密码,然后点击“确定”。

由于我们启用了https协议,https://servername/iisadmpwd 同样可以访问

Windows Server 2012中通过WEB修改域用户账号密码_第14张图片

Windows Server 2012中通过WEB修改域用户账号密码_第15张图片

10、下图出现后说明我们修改密码成功。

Windows Server 2012中通过WEB修改域用户账号密码_第16张图片

11、注释:有的时候我们每当用户修改密码的时候都需要输入很长的访问地址例如:https://servername/iisadmpwd会感觉比较麻烦这事我们可以再iis上稍作修改可以使我们访问地址记起来更加方便了方法如下:

1)首先做一个http重定向

Windows Server 2012中通过WEB修改域用户账号密码_第17张图片

2)在ssl设置那修改成接受如下图:

Windows Server 2012中通过WEB修改域用户账号密码_第18张图片

这样我们访问的时候就可以直接输入http://servername即可。