[變更密碼] 功能無法運作如預期般在您安裝 ISA Server 2006 Service Pack 1 後,或如果您使用 Microsoft 威脅管理閘道 2010

徵狀

在套用 Microsoft 網際網路安全性與加速 (ISA) 伺服器 Service Pack 1 (SP1),或如果您使用 Microsoft Forefront 威脅管理閘道 (TMG) 2010年之後,您可能會注意到,[變更密碼] 功能不會無法如預期運作。 例如,在 Active Directory 的設定,以啟用特定的使用者帳號的 [使用者必須變更密碼,在下次登入時"設定。 不過,當使用者嘗試使用表單型驗證 (FBA),「 變更密碼 」 功能啟用時,在 ISA Server 或 TMG 伺服器登入,使用者是不會自動重新導向至表單,用來變更密碼。

原因

當 FBA 使用以及輕量型目錄存取通訊協定 (LDAP) 時,就會發生這個問題。 在 ISA Server 2006 SP1,當您使用 LDAP 以及 FBA,已變更預設行為。 此項變更的目的是為了協助您抵禦驗證攻擊。 如需詳細資訊,請造訪下列 Microsoft TechNet 網站的 < 變更在="" service="" pack="" 1=""> 一節:

http://technet.microsoft.com/en-us/library/cc514301.aspx

解決方案

如果要解決這個問題,請依照下列步驟執行。

  1. 安裝 hotfix 套件所述,下列 「 Microsoft 知識庫 」 文件:

    959357 ISA Server 2006 的 hotfix 套件的描述: 2008 年 10 月 29 日請注意,第一個步驟不適用於 Microsoft 威脅管理閘道 (TMG) 伺服器。此 hotfix 會包含在產品中。

  2. 啟動 [記事本]。

  3. 將下列指令碼貼到 [記事本] 檔案中。

    ' -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-' -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-'    This code is Copyright (c) 2007 Microsoft Corporation.  ''    All rights reserved.''    THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF'    ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO'    THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A'    PARTICULAR PURPOSE.''    IN NO EVENT SHALL MICROSOFT AND/OR ITS RESPECTIVE SUPPLIERS BE'    LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY'    DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,'    WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS'    ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE'    OF THIS CODE OR INFORMATION.'' -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-If Not WScript.Arguments.Named.Exists("WebListener") Then    WScript.Echo "WebListener not defined"    WScript.Quit(1)End IfSet fpcRoot = CreateObject("FPC.Root")Set fpcArray = fpcRoot.GetContainingArray()Set fpcWebListener = fpcArray.RuleElements.WebListeners(WScript.Arguments.Named("WebListener"))Set fpcWebListenerVps = fpcWebListener.VendorParametersSetsOn Error Resume NextSet fpcCookieAuthVps = fpcWebListenerVps.Item("{29022EBA-B030-4839-9CA6-DD8875BC7B47}")If Err.number = 0 Then    CookieAuthVpsExists = TrueElse    CookieAuthVpsExists = FalseEnd IfErr.ClearOn Error GoTo 0If Not CookieAuthVpsExists Then    WScript.Echo "Cookie auth VPS settings not defined, hotfix 957859 disabled"Else    On Error Resume Next    WScript.Echo "EnableLDAPPasswordExpiration: " & (fpcCookieAuthVps.Value("EnableLDAPPasswordExpiration") = True)End IfIf WScript.Arguments.Named.Exists("Value") Then    If Not CookieAuthVpsExists Then        Set fpcCookieAuthVps = fpcWebListenerVps.Add("{29022EBA-B030-4839-9CA6-DD8875BC7B47}")    End If    fpcCookieAuthVps.Value("EnableLDAPPasswordExpiration") = (StrComp(WScript.Arguments.Named("Value"), "True", 1) = 0)    fpcArray.Save    WScript.Echo "EnableLDAPPasswordExpiration set to " & (fpcCookieAuthVps.Value("EnableLDAPPasswordExpiration") = True)End If 
  4. 儲存這個 [記事本] 檔案使用.vbs 副檔名。 若要儲存這個檔案,例如,使用下列名稱:

    EnableHotfix957859.vbs

  5. 開啟命令提示字元,移至 EnableHotfix957859.vbs 檔案,儲存的位置,然後輸入下列命令:

    Cscript EnableHotfix957859.vbs /webListener: < 接聽程式名稱 > /Value:true注意: 這個命令中,請將 < 接聽程式名稱 > 取代網頁接聽程式的實際名稱。

重要: 如果您想要移除 hotfix 959357,開啟命令提示字元、 瀏覽至您儲存 EnableHotfix957859.vbs 檔的位置,然後輸入下列命令: Cscript EnableHotfix957859.vbs /webListener: <接聽項名稱> /Value:false注意在這個命令中,會取代網頁接聽程式的實際名稱中的 <接聽程式名稱>。

狀態

Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。

參考

如需有關軟體更新術語的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

824684 描述 Microsoft 軟體更新所使用的標準術語說明

需要更多協助?

擴展您的技能
探索訓練
優先取得新功能
加入 Microsoft 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與我們的其中一個 Office 支援專員連絡以深入了解您的意見。

×