徵狀
注意Microsoft Forefront 威脅管理閘道 2010年也套用這些問題。
第 1 期:
請試想下列案例:
-
您有正在執行 Microsoft 網際網路安全性與加速 (ISA) 2006年的伺服器。
-
您可以選取 [驗證] 索引標籤上的 [ HTML 表單驗證,以設定表單型驗證 (FBA) 接聽程式。
-
接聽項均設定為讓使用者變更他們的密碼。
-
您使用 Microsoft 知識庫 」 文件來啟用 ISA 2006,以搜尋多個網域中使用者的 952675 所述的功能。如需詳細資訊,按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
952675您無法登入您有多個不同的網域中有相同的帳戶名稱的使用者帳戶時,請使用 ISA Server 2006 來發佈的近端內部網路網站
-
嘗試登入的使用者帳戶位於遠端的受信任樹系中的網域。
在這個案例中,使用者無法登入,如果他們的密碼已過期,或該帳戶設定為 [使用者必須變更密碼,在下次登入時。網頁 proxy 記錄檔中會記錄錯誤 1907 (ERROR_PASSWORD_MUST_CHANGE)。
問題 2:
請試想下列案例:
-
您有正在執行 Microsoft 網際網路安全性與加速 (ISA) 2006年的伺服器。
-
您可以選取 [驗證] 索引標籤上的 [ HTML 表單驗證,以設定表單型驗證 (FBA) 接聽程式。
-
接聽項均設定為讓使用者變更密碼。
-
您必須發佈網站時,用於這個接聽程式的網頁發佈規則。
-
您使用 Microsoft 知識庫 」 文件來啟用 ISA 2006,以搜尋多個網域中使用者的 952675 所述的功能。如需詳細資訊,按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
952675您無法登入您有多個不同的網域中有相同的帳戶名稱的使用者帳戶時,請使用 ISA Server 2006 來發佈的近端內部網路網站
-
意外關閉 ISA Server 2006 開啟通用類別目錄伺服器的連線,例如,由兩個伺服器之間的防火牆。
-
登入的使用者在 NT4/SAM 為基礎的命名格式中指定的使用者名稱。
-
由使用者所指定的新密碼符合複雜性需求。
在這個案例中,所有網域的使用者無法變更其密碼。當他們嘗試變更密碼時,它們就會收到下列錯誤訊息:
使用者名稱或舊密碼不正確,或是新的密碼不符合複雜性的最低需求。請再試一次。
如果使用者指定使用 UPN 格式的使用者名稱,則使用者可以變更密碼。如果 ISA Server 2006 防火牆服務重新啟動時,可能也能夠變更密碼,直到通用類別目錄伺服器的連線會再次中斷使用者。
原因
第 1 期:
當使用者不被重新導向至 [密碼] 變更頁面因為 ISA Server 2006 將不會檢查遠端樹系中帳戶的帳戶狀態時,就會發生這個問題。因此,它會嘗試使用使用者提供登入使用者的認證。密碼不再有效。因此,嘗試失敗,而且會傳回錯誤 1907 (ERROR_PASSWORD_MUST_CHANGE)。
問題 2:
將訊息傳送至通用類別目錄伺服器的控制代碼重複使用時,就會發生這個問題。當控制代碼失敗時,這可防止 ISA Server 2006 檢查使用者的帳戶狀態。
解決方案
Microsoft 網際網路安全性與加速 (ISA) 2006
如果要解決這個問題,請安裝 ISA Server 2006 hotfix 彙總套件所描述下列 「 Microsoft 知識庫 」 文件:
ISA Server 2006 的 hotfix 套件2616326描述: 2011 年 9 月
Microsoft Forefront 威脅管理閘道 2010
如果要解決這個問題,安裝 service pack 所描述下列 「 Microsoft 知識庫 」 文件:
2555840 Microsoft Forefront 威脅管理閘道 2010 Service Pack 2
如何啟用此修正程式
Microsoft 會提供程式設計範例僅供說明,而不做任何明示或默示的保證。這包括,但不限於適售性或適合某特定用途之默示擔保責任。本文假設您已相當熟悉使用的我們所示範的程式設計語言以及建立和偵錯程序所使用的工具。Microsoft 技術支援工程師可以協助解釋特定程序的功能。不過,它們不會修改這些範例以提供附加功能或建構程序來滿足您特定需求。 若要啟用此修正程式,ISA Server 2006; Forefront 威脅管理閘道 2010年,執行 EnableMultipleFlatUserName.vbs 指令碼來啟用此修正程式所提供的功能。若要執行這項操作,請參考下列步驟:
-
按一下 [開始]、按一下 [執行],輸入 notepad,然後按一下 [確定]。
-
將下列指令碼複製到 [記事本] 檔案,並使用.vbs 副檔名,然後將文字檔案儲存為 Microsoft Visual Basic 檔案。
Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "EnableMultipleFlatUserName"Const SE_VPS_VALUE = trueSub SetValue() ' Create the root obect. Dim root ' The FPCLib.FPC root object Set root = CreateObject("FPC.Root") 'Declare the other objects needed. Dim array ' An FPCArray object Dim VendorSets ' An FPCVendorParametersSets collection Dim VendorSet ' An FPCVendorParametersSet object ' Get references to the array object ' and the network rules collection. Set array = root.GetContainingArray Set VendorSets = array.VendorParametersSets On Error Resume Next Set VendorSet = VendorSets.Item( SE_VPS_GUID ) If Err.Number <> 0 Then Err.Clear ' Add the item Set VendorSet = VendorSets.Add( SE_VPS_GUID ) CheckError WScript.Echo "New VendorSet added... " & VendorSet.Name Else WScript.Echo "Existing VendorSet found... value- " & VendorSet.Value(SE_VPS_NAME) End If if VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE Then Err.Clear VendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUE If Err.Number <> 0 Then CheckError Else VendorSets.Save false, true CheckError If Err.Number = 0 Then WScript.Echo "Done with " & SE_VPS_NAME & ", saved!" End If End If Else WScript.Echo "Done with " & SE_VPS_NAME & ", no change!" End IfEnd SubSub CheckError() If Err.Number <> 0 Then WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description Err.Clear End IfEnd SubSetValue
-
將檔案儲存至暫存資料夾。例如,將檔案儲存為EnableMultipleFlatUserName.vbs到C:\EnableMultipleFlatUserName資料夾。
-
在命令提示字元中,請移至您儲存已在步驟 3 的.vbs 檔案的位置,然後再執行 [.vbs 檔案。比方說,執行下列命令:
cd C:\EnableMultipleFlatUserNamecscript EnableMultipleFlatUserName.vbs
注意您必須重新啟動 ISA 伺服器相關的服務或 Forefront 威脅管理閘道伺服器相關服務之後您啟用此修正程式。
狀態
Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。
參考
如需有關軟體更新術語的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
用來描述 Microsoft 軟體更新標準術語的編號 824684描述