如何在IIS7/7.5上配置IISADMPWD


問題

很多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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM