KORRIGERA: Användare i fjärranslutna skogar kan inte ändra sina lösenord via ISA Server 2006 eller Forefront Threat Management Gateway 2010

Gäller för: Forefront Threat Management Gateway 2010 EnterpriseForefront Threat Management Gateway 2010 Standard

Symptom


Obs! Dessa problem gäller även för Microsoft Forefront Threat Management Gateway 2010.

Problem 1:

Tänk dig följande situation:
  • Du har en server som kör Microsoft Internet Security and Acceleration (ISA) 2006.
  • Du har konfigurerat en avlyssnare för formulär autentisering (FBA) genom att välja HTML-formulärautentisering på fliken autentisering .
  • Lyssnaren har konfigurerats så att användarna kan ändra sina lösenord.
  • Funktionen som beskrivs i Microsoft Knowledge Base-artikel 952675 att ISA 2006 för att söka efter användare i flera domäner har använts. För mer information klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
    952675 du kan inte logga in på intranätet som du publicerar via ISA Server 2006 när det finns flera konton med samma kontonamn i olika domäner
  • Kontot för den användare som försöker logga in finns i en domän i en fjärransluten betrodd skog.
I det här scenariot kan logga användare inte in om sina lösenord har upphört att gälla eller om kontot som användaren måste ändra lösenord vid nästa inloggning. Fel 1907 (ERROR_PASSWORD_MUST_CHANGE) loggas i loggen för web proxy.

Problem 2:

Tänk dig följande situation:
  • Du har en server som kör Microsoft Internet Security and Acceleration (ISA) 2006.
  • Du har konfigurerat en avlyssnare för formulär autentisering (FBA) genom att välja HTML-formulärautentisering på fliken autentisering .
  • Lyssnaren är konfigurerad så att användare kan ändra lösenord.
  • Du har en webbpubliceringsregel som använder denna lyssnare för att publicera en webbplats.
  • Funktionen som beskrivs i Microsoft Knowledge Base-artikel 952675 att ISA 2006 för att söka efter användare i flera domäner har använts. För mer information klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
    952675 du kan inte logga in på intranätet som du publicerar via ISA Server 2006 när det finns flera konton med samma kontonamn i olika domäner
  • Anslutningen som ISA Server 2006 öppnas för den globala katalogservern oväntat avslutades, till exempel genom en brandvägg mellan två servrar.
  • Användare som loggar in har angett användarnamnet i en NT4/SAM-baserade namngivningsformat.
  • Det nya lösenordet som anges av användaren uppfyller kraven på komplexitet.
I det här fallet kan inte användare från alla domäner ändra sina lösenord. När de försöker att ändra ett lösenord visas följande felmeddelande:
Antingen användarnamnet eller det gamla lösenordet är inte giltigt eller det nya lösenordet uppfyller inte komplexitetskraven. Försök igen.
Om användaren anger ett användarnamn med ett UPN-formatet, kan användaren ändra lösenordet. Om brandväggstjänsten för ISA Server 2006 startas kanske användare också ändra lösenord tills anslutningen till global katalog-server bryts igen.

Orsak


Problem 1:

Det här problemet uppstår om användaren inte omdirigeras till sidan Ändra lösenord eftersom ISA Server 2006 inte kontrollera kontostatus för konton i fjärranslutna skogar. Därför försöker använda identifieringsinformation som användaren för att logga in användaren. Lösenordet är inte längre giltig. Därför misslyckas försöket och returneras fel 1907 (ERROR_PASSWORD_MUST_CHANGE).

Problem 2:

Det här problemet uppstår när handtaget för att skicka meddelanden till den globala katalogservern återanvänds. När handtaget misslyckas detta förhindrar att ISA Server 2006 Kontrollera status för användarens konto.

Lösning


Microsoft Internet Security and Acceleration (ISA) 2006

Lös problemet genom att installera ISA Server 2006-snabbkorrigeringspaket som beskrivs i följande artikel i Microsoft Knowledge Base:
2616326 beskrivning av snabbkorrigeringspaket för ISA Server 2006: September 2011

Microsoft Forefront Threat Management Gateway 2010

Lös problemet genom att installera service Pack-uppdateringen som beskrivs i följande artikel i Microsoft Knowledge Base:
2555840 Microsoft Forefront Threat Management Gateway 2010 Service Pack 2

Så här aktiverar du snabbkorrigeringen

Microsoft tillhandahåller programmeringsexempel endast utan garanti varken uttryckliga eller underförstådda. Detta inkluderar men är inte begränsat till, underförstådda garantier om säljbarhet eller lämplighet för ett särskilt ändamål. Den här artikeln förutsätter att du är bekant med det programmeringsspråk som demonstreras och de verktyg som används för att skapa och felsöka procedurer. Microsofts supporttekniker kan hjälpa till att förklara funktionen hos en viss procedur. De kommer inte ändra dessa exempel för att ge ytterligare funktioner eller skapa procedurer som motsvarar dina speciella behov. Kör skriptet EnableMultipleFlatUserName.vbs om du vill aktivera funktionen som tillhandahålls av den här korrigeringen om du vill aktivera den här korrigeringsfilen för ISA Server 2006 eller Forefront Threat Management Gateway 2010. Gör så här:
  1. Klicka på Startoch klicka på Kör, Skriv Anteckningar.
  2. Kopiera följande skript till en fil i anteckningar och sedan spara filen som en Microsoft Visual Basic-fil med filnamnstillägget .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
  3. Spara filen till en tillfällig mapp. Till exempel spara filen som EnableMultipleFlatUserName.vbs i mappen C:\EnableMultipleFlatUserName .
  4. Gå till platsen där du sparade filen i steg 3 .vbs vid en kommandotolk och kör .vbs-fil. Till exempel köra följande kommandon:
    CD C:\EnableMultipleFlatUserNamecscript EnableMultipleFlatUserName.vbs
Obs! Du måste starta om ISA Server-relaterade tjänster eller Forefront Threat Management Gateway server-relaterade tjänster när du har aktiverat den här korrigeringsfilen.

Status


Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet ”gäller”.

Referenser


För mer information om terminologin för programuppdateringar klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
824684 beskrivning av standardterminologin som används för att beskriva Microsoft-programuppdateringar