症状
注意:这些问题也适用于 Microsoft 最前沿威胁管理网关 2010年。
问题 1:
请考虑以下情况:
-
您有一个服务器正在运行 Microsoft Internet 安全和加速 (ISA) 2006年。
-
您通过选择身份验证选项卡上的HTML 窗体身份验证配置基于表单的身份验证 (FBA) 侦听器。
-
侦听器配置为允许用户更改其密码。
-
使用 Microsoft 知识库文章 952675 以启用 ISA 2006 年搜索多个域中的用户中描述的功能。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
952675您无法登录到本地 intranet 网站,您有多个具有相同帐户名称不同域中的用户帐户时使用 ISA Server 2006 发布
-
尝试登录的用户帐户位于远程受信任林中的域中。
在这种情况下,用户不能登录如果其密码已过期,或将帐户设置为用户更改在下一次登录的密码。Web 代理日志中记录错误又回到了 1907 (ERROR_PASSWORD_MUST_CHANGE)。
问题 2:
请考虑以下情况:
-
您有一个服务器正在运行 Microsoft Internet 安全和加速 (ISA) 2006年。
-
您通过选择身份验证选项卡上的HTML 窗体身份验证配置基于表单的身份验证 (FBA) 侦听器。
-
侦听器配置为允许用户更改密码。
-
您必须使用该侦听器来发布网站的 web 发布规则。
-
使用 Microsoft 知识库文章 952675 以启用 ISA 2006 年搜索多个域中的用户中描述的功能。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
952675您无法登录到本地 intranet 网站,您有多个具有相同帐户名称不同域中的用户帐户时使用 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
要解决此问题,请安装以下 Microsoft 知识库文章中描述了 ISA Server 2006 修复程序汇总包:
ISA Server 2006 修补程序包2616326描述: 2011 年 9 月
2010 的 Microsoft 前沿威胁管理网关
若要解决此问题,请安装以下 Microsoft 知识库文章中的 service pack 所述:
2555840 Microsoft 最前沿威胁管理网关 2010 Service Pack 2
如何启用此修复程序
Microsoft 提供的编程示例仅用于说明,没有任何明示或暗示的担保。这包括但不限于适销性或特定用途适用性的暗示担保。本文假定您熟悉所演示的编程语言和用于创建和调试过程的工具。Microsoft 的支持工程师可以帮助解释某个特定过程的功能。但是,他们不会修改这些示例以提供额外的功能或构建过程以满足您的特定要求。 若要启用 ISA Server 2006 或前沿威胁管理网关 2010年此修补程序,请运行 EnableMultipleFlatUserName.vbs 脚本,以启用此修补程序提供的功能。若要执行此操作,请执行以下步骤:
-
单击开始,单击运行,键入记事本,然后单击确定。
-
将以下脚本复制到记事本文件中,并保存该文本文件作为 Microsoft Visual Basic 文件使用.vbs 文件扩展名。
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 服务器相关的服务或与前沿威胁管理网关服务器相关的服务。
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
参考
有关软件更新术语的更多信息,请单击下面的文章编号以查看 Microsoft 知识库中的相应文章:
824684 用于描述 Microsoft 软件更新的标准术语的说明