如何用IIS Web Portal管理windows user password
大多IIS用户都可能还记得我们曾经用老的版本的IIS(例如IIS 5或者IIS 6)架设的叫做IISADMPWD的web application。这个应用对domain user更改密码很有用。可能很多人还在想既然我可以通过简单的Ctrl+Alt+Delete来更改密码,那这个还有什么用呢?我们先来看一个例子。
IISAPDPWD in Use
当我不在办公室的时候必须要通过OWA来收发邮件。然而,由于我忘记更新我的密码而且它已经过期,我没有能够成功的收到重要邮件。(VPN可能能够帮我解决,但是如果我同样不能连接VPN)
IT部门帮助我设置了IISADMPWD,这样我就可以进入一个页面来更改我的密码。现在OWA又恢复了正常,我也能够成功的检查到邮件!
IISAPDPWD Setup (for IIS 5/6 )
下面文章可以帮助我们在IIS 5和6设置这样一个web application。
https://support.microsoft.com/kb/269082
https://support.microsoft.com/kb/833734
Tony DeCock提供了一篇文章,介绍可能在此过程中碰到的各种问题。
https://support.microsoft.com/kb/907271
IISAPDPWD on IIS 7
IIS 7中不再有IISAPDPWD这个功能。因此在Windows Server 2008下也没有IISADMPWD目录。这样除了使用VPN,我们还有别的办法来更改密码么?事实上如果我们从Windows Server 2003 box上拿到一份IISADMPWD的copy并且把它作为一个ASP/COM应用来使用,它也是可以帮助我们来更改密码的。解决方案如下:
- 1. 复制Server 2003 box到Server 2008 box,在这边我用的是C:\Windows\system32\inetsrv\Iisadmpwd on Server 2008。
- 2. 在IISADMPWD目录下注册IISpwchg.dll文件
- a. 打开一个命令运行栏。
- b. 在Open box中,输入下述命令后按Enter:regsvr32 c:\windows\system32\inetsrv\iisadmpwd\iispwchg.dll
- 3. 配置PasswordChangeFlags特性,注意Password Change功能必须开启:
- a. 打开一个命令运行栏。
- b. 进入C:\Inetpub\Adminscripts目录(注意IIS 6 Scripting Tools feature必须打开)
- c. 输入以下命令,按enter:
cscript.exe adsutil.vbs set w3svc/passwordchangeflags Value
注意这里Value为你所设置的PasswordChangeFlags的位置标识符,有如下几个数值,也可以使用它们的组合数值:
- 0:默认值。这个值表明当你试图更改密码的时候一定要使用安全网路连接(SSL)
- 1:这个值允许对non-secure端口进行密码更改。如果SSL被禁用的话可以使用这个值。
- 2:这个值禁用了密码更改功能。
- 4:这个值禁用了密码过期提示。
- 4. 在IISADMPWD目录下创建一个应用:
- a. 打开IIS Manager,左边面板右键Default Web Site节点。
- b. 选中Add Application。在对话框中,输入alias(我用的是IISADMPWD)和路径(C:\Windows\system32\inetsrv\Iisadmpwd)。然后选中Select来选择一个合适的application pool,点击两次OK就可以了。
- 5. 现在就可以进入password change的页面:https://<server>/iisadmpwd/aexp4b.asp(或者https的页面)
注释:
如果只有x86版本的Server 2003,但是Server 2008却是x64版本,上诉步骤要稍作修改:首先,必须复制文件到%windir%\SysWOW64\inetsrv文件夹中,这个路径也要在之后介绍的步骤中用到。然后,application必须在一个32-bit的application pool中。
微软全球技术支持中心Internet 开发者支持组