问题

很多IIS用户还记得在早期的IIS版本上有一个web应用, IISADMPWD. 该应用是与IIS5 和IIS6一起发布的. 主要用于为域用户提供修改密码的功能, 同时也可以修改本机用户的密码. 但是这个功能包含在IIS7/7.5中. 在IIS 7及以上版本中, 微软不再提供这个web应用的支持.

虽然该功能没有与IIS7/7.5一起发布, 但通过一些简单的配置还是可以使用该功能,本文将介绍如何在IIS7/7.5中配置IISADMPWD的web 应用.

注意 : 本文只是介绍如何在IIS7/7.5中配置IISADMPWD的web 应用. 由于该功能已经在IIS7及以上版本中的被遗弃, 微软不会对IIS7及以上版本中的IISADMPWD提供支持.

步骤

由于IISADMPWD的Web 应用不再被IIS7及以上版本所支持. 在一个干净的Windows Server 2008 中是没法找到这个文件. 所以需要从一台Windows Server 2003中找到并且将文件复制到Windows Server 2008上.

1. 默认情况下, IISADMPWD放置在Windows Server 2003服务器的如下路径 : C:\Windows\system32\inetsrv\Iisadmpwd . 如果没有找到该路径, 你需要先在Windows Server 2003上安装IIS服务.
注意 : 如果您在IIS7/7.5中的网站应用是64位, 您需要COPY一个64位版本的IISADMPWD. 如果是32位, 同样需要COPY一个32位的IISADMPWD. 在x64的Windows Server 2003中, 32位的IISADMPWD位于%windir%\SysWOW64\inetsrv\iisadmpwd .

2. 将IISADMPWD的文件COPY到Windows Server 2008服务器后,需要注册IISpwcchg.dll.
    1) 用admin的权限打开一个命令窗口.
    2) 执行以下命令 : regsvr32 c:\windows\system32\inetsrv\iisadmpwd\iispwchg.dll
        其中c:\windows\system32\inetsrv\iisadmpwd\ 是IISADMPWD的放置路径.
3. 其次, 需要设置metabase中的PasswordChangeFlags. 以运行修改密码的功能 :
    1) 用admin的权限打开一个命令窗口.
    2) 打开到如下路径 : C:\Inetpub\Adminscripts
        如果你没能找到这个路径, 请先启用IIS的IIS 6 Scripting Tools feature. 请参考 : http://msdn.microsoft.com/library/ms751518.aspx
    3) 输入以下命令 : cscript.exe adsutil.vbs set w3svc/passwordchangeflags Value
    4) 下面是对Value的定义 :
        0 : 默认值. 该值代表你必须启用SSL来修改密码.
        1: 允许非安全的Port来修改密码. 如果你没有启用SSL, 同时又需要修改密码的功能, 可以使用该值.
        2 : 关闭修改密码的功能.
        4 : 关闭 “advance notification of password expiration”.

4.打开IIS管理器. 展开需要加入该功能的网站. 右键点击该网站, 在弹出菜单中 选中Add Virtual Directory.

5. 在配置好Virtual Directory之后, IISADMPWD就可以使用了.

6. 关于IISADMPWD中几个页面的功能, 可以参考http://blogs.msdn.com/b/friis/archive/2009/03/24/setting-up-the-iis-6-password-change-site-iisadmpwd.aspx

Test.asp

包括了IISADMPWD页面上所显示的文字和label. 如果需要修改asp页面上所显示的内容, 可以修改该页面的定义.

Achg.asp

用于执行修改密码请求的页面.

Aexp.asp

该页面会默认情况下会为IIS显示那些密码已经过期的用户. 通过配置IIS metabase中的”AuthExpiredURL”, 可以使用该页面.

Aexp2.asp

用于修改IIS本机用户的密码.

Aexp2b.asp

用于修改域用户的密码. 默认情况下, 该页面会使用SSL对会话进行加密. 如果你没有启用SSL功能, 请求会失败.

Aexp3.asp

类似于aexp.asp. 不需要使用SSL

如果想使用aexp2.asp页面来修改域用户的密码, 但是又不想启用SSL. 你可以按照下面的方法来进行修改. 但是我们不推荐该方法. 因为, 如果没有SSL的加密保护, 密码是明文的在网络间传递, 很容易被截获. 
1. 用notepad打开aexp2.asp.
2. 找到
<form method="POST" action="https://<%=Server.HTMLEncode(Request.ServerVariables("SERVER_NAME"))%>/iisadmpwd/achg.asp?<%=Server.HTMLEncode(Request.QueryString)%>">
3. 将https://修改为http:// , 如下 :
<form method="POST" action="http://<%=Server.HTMLEncode(Request.ServerVariables("SERVER_NAME"))%>/iisadmpwd/achg.asp?<%=Server.HTMLEncode(Request.QueryString)%>">

同样的, 如果启用了SSL,但是使用了非默认的443端口, 也在条语句中加入对应的端口号. 例如使用的是445端口 :
<form method="POST" action="https://<%=Server.HTMLEncode(Request.ServerVariables("SERVER_NAME"))%>:445/iisadmpwd/achg.asp?<%=Server.HTMLEncode(Request.QueryString)%>">

希望以上内容对您有所帮助,

Sonic Guo

如何在IIS7/7.5上配置IISADMPWD的更多相关文章

  1. 如何在windows server 2008上配置NLB群集

    参考:http://zlwdouhao.blog.51cto.com/731028/781828 前些天写了一篇关于NLB群集模式多播和单播的简单介绍.那么下面我们一起来探讨一下,如何在windows ...

  2. [IISNode] 如何在IIS7/8下,配置一个可以通过IIS访问NodeJS的web项目

    参考了一下几篇很给力的文章,在每篇文章中,都学到了解决遇到的问题的答案: (1)用iisnode模块,让你的Node.js应用跑在Windows系统IIS中 (2)让IIS能够运行Nodejs (3) ...

  3. 如何在Ubuntu 16.04上安装Apache Web服务器

    转载自:https://www.howtoing.com/how-to-install-the-apache-web-server-on-ubuntu-16-04 介绍 Apache HTTP服务器是 ...

  4. 如何在Ubuntu 18.04上安装Apache Web服务器

    一. apt库安装 1.在终端输入更新检查命令,sudo apt-get update 2. 在更新完成后(如果不想检查更新,也可直接输入此步)输入:sudo apt-get install apac ...

  5. 如何在Ubuntu 16.04上安装Nginx

    原文链接https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-16-04 介绍 Nginx是世 ...

  6. 如何在IIS7上配置 FTP7并使用IIS管理凭据方式进行验证?

    如何在IIS7上配置 FTP7并使用IIS管理凭据方式进行验证? 在 Windows Server 2008 R2 发布后,gOxiA 就开始着手于相关的测试和评估.IIS 是重点测试和评估之一!而今 ...

  7. 如何在IIS7上配置 FTP7并使用IIS管理凭据方式进行验证

    在 Windows Server 2008 R2 发布后,gOxiA 就开始着手于相关的测试和评估.IIS 是重点测试和评估之一!而今天与大家分享的是如何在  IIS7 上配置 FTP7 使用 IIS ...

  8. 如何在IIS7下配置ASP+ACCESS环境

    如何在IIS7下配置ASP+ACCESS环境 | 浏览:901 | 更新:2013-01-16 17:46 1 2 3 4 5 6 7 分步阅读 默认装完IIS7之后,使用ASP程序会发现提示数据库连 ...

  9. IIS7.5 在已有的WEB网站上配置FTP发布

    IIS7.5 有了很多新特性,例如FashCGI,Rewrite 模块的内置,简易的FTP发布等等,但是即使是微软,也没有详细的文档,本文详细的介绍了如何在现有的WEB网站上建立FTP发布. IIS ...

随机推荐

  1. c#一个泛型控制Textbox 和label 控件 泛型方法。

    class ControlHelper { public static void ShowOnTxtLbl<T>(T control, string mess) where T : Sys ...

  2. hibernate常用关联

    <?xml version="1.0" encoding="utf-8" ?> <hibernate-mapping xmlns=" ...

  3. base64/62 加解密的实现。

    base64/62加解密代码下载地址: http://files.cnblogs.com/files/Kingfans/base64(62)加解密.zip base64: base62:

  4. 解决MVC中JSON字符长度超出限制的异常

    解决MVC中JSON字符长度超出限制的异常 解决方法如下: <configuration> <system.web.extensions> <scripting> ...

  5. react-router配合webpack实现按需加载

    很久没有写博客了.一直感觉没有什么要写的,但是这个东西确实有必要的.使用react开发,不可能一直打包到一个文件.小项目肯定没有问题,但是变大一旦到几兆,这个问题就很严重.现在又Commonjs,AM ...

  6. .net 微信分享功能

    微信在国内目前无疑是最火的社交软件,智能手机装机必备. 微信api有java,php,Python语言的demo, 为毛没有C#的范例?兄长今天给各位带来一个.不叫哥(割)了,A股今天又暴跌[3912 ...

  7. OD使用教程9

    先运行程序打开about,发现这是一个未注册的软件需要注册后才能使用里面的工具,所以随便注册一下,跳出一个提示说注册的是非法的邮箱,所以就可以以此做为突破口来破解这个程序 将提示的语句作为关键字去找出 ...

  8. 文件操作总结 (Path,Directory,File)

    Path类就是对字符串的操作,与实际的文件没有任何关系 属性: Path.GetFileName("路径"), //获取文件名带后缀: Path.GetFileNameWithou ...

  9. SQLServer : 几个特殊函数(RAND,CHECKSUM, NEWID)

    这一篇我们来捋捋在T-SQL中可能会用到的几个特殊的函数 1. 随机数: RAND 返回从 0 到 1 之间的随机 float 值. 语法: RAND ( [ seed ] ) seed 提供种子值的 ...

  10. EasyUI detailview 使用心得

    view: detailview, detailFormatter: function (rowIndex, rowData) { return "<div class='easyui ...