问题

很多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. caffe net 可视化工具

    http://ethereon.github.io/netscope/#/editor 将对应的网络输入到里面,然后按shift+enter即可查看对应的网络结构

  2. SQL Server 集合处理

    UNION ALL 返回两个结果集中所有的行,返回结果集中会存在重复行 UNION 返回两个结果集中去重的行,返回结果集中无重复行 INTERSECT 返回两个结果集都有的行,返回结果集中无重复行 E ...

  3. spring aop实现

    Spring 有如下两种选择来定义切入点和增强处理. 基于 Annotation 的"零配置"方式:使用@Aspect.@Pointcut等 Annotation 来标注切入点和增 ...

  4. OleDb 内存泄露问题

    近期在定位问题时发现使用OleDb打开很大的Excel文件后,即使什么都不操作Colse掉,内存释放了部分,但是并未回到打开前的水平.在Excel 150M,解压缩后900M的场景下,打开后直接Clo ...

  5. silverLight--绑定数据dataGrid

    后台代码编写 ,为表格绑定数据: using System; using System.Collections.Generic; using System.Linq; using System.Net ...

  6. UIAlertController、UIAlertAction 警告框

      NS_CLASS_AVAILABLE_IOS(8_0) @interface UIAlertAction : NSObject <NSCopying> //创建操作 + (instan ...

  7. SQL Server 2012安装后找不到服务器名称的解决办法!!!

    网上说使用localhost即可,确实没错,但是有的仍旧会报出无法找到错误,我在无法通过的时候又重新安装了SQLServer,这次选中全部默认安装,之前使用的是选择安装,然后发现多了几个配置,其中有一 ...

  8. Sharepoint添加顶部导航菜单

    网站设置->导航->全局导航添加链接->设置标题和url->保存

  9. 分离式模型separation model

    1.关键字export 在头文件中定义模板,并且在模板的定义以及声明前添加关键字export. exported 模板可以直接使用,不需要看到该模板定义.模板的使用和定义可以分割于两个不同的编译单元. ...

  10. C#基于Office组件操作Excel

    1.    内容简介 实现C#与Excel文件的交互操作,实现以下功能: a)     DataTable 导出到 Excel文件 b)     Model数据实体导出到 Excel文件[List&l ...