Symptom
Tänk dig följande situation:
-
En administratör har formulärbaserad autentisering (FBA) Ställ in i Microsoft Forefront Threat Management Gateway (TMG) 2010.
-
Attribut för unikt namn (DN) för en användare innehåller ett snedstreck (/) och en beskrivning av Active Directory Lightweight Directory Access Protocol LDAP specialtecken.
-
Användaren försöker ändra sitt lösenord.
I det här fallet ändra lösenord är misslyckad och användaren får följande allmänna felmeddelande:
Antingen användarnamnet eller det gamla lösenordet är inte giltigt eller det nya lösenordet uppfyller inte komplexitetskraven. Försök igen.
Spårning i TMG 2010 kan dessutom ange att ADsOpenObject misslyckades med 0x80005000 (E_ADS_BAD_PATHNAME) eller 0x80072032 (ERROR_DS_INVALID_DN_SYNTAX) eftersom föregås av specialtecken i LDAP-begäran.
Orsak
Det här problemet för alla Active Directory-användarkonto som har DN-attribut som innehåller en Active Directory-specialtecken och ett snedstreck.
Lösning
Lös problemet genom att installera samlad 4 för Forefront Threat Management Gateway 2010 Service Pack 2 när du har installerat den här uppdateringen, kan du konfigurera Threat Management Gateway med attributet objectGUID i stället för DistinguishedName attribut i Active Directory LDAP-sökvägen för att lösa problemet som beskrivs i denna artikel. Gör så här om du vill aktivera den här funktionen:
-
Kopiera och klistra in följande skript i anteckningar och spara den med namnet ”EnableKB2888619.vbs”:
set curArray = CreateObject("FPC.Root").GetContainingArray()Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEABC}"Const SE_VPS_NAME = "UseObjectGUIDInLDAPADsPath"Const SE_VPS_VALUE = 1Sub SetValue()' Create the root obect.Dim root ' The FPCLib.FPC root objectSet root = CreateObject("FPC.Root")'Declare the other objects needed.Dim array ' An FPCArray objectDim VendorSets ' An FPCVendorParametersSets collectionDim VendorSet ' An FPCVendorParametersSet object' Obtain references to the array object' and the network rules collection.Set array = curArray Set VendorSets = array.VendorParametersSetsOn Error Resume NextSet VendorSet = VendorSets.Item( SE_VPS_GUID )If Err.Number <> 0 ThenErr.Clear' Add the itemSet VendorSet = VendorSets.Add( SE_VPS_GUID )CheckErrorWScript.Echo "New VendorSet added... " & VendorSet.NameElseWScript.Echo "Existing VendorSet found... value- " & VendorSet.Value(SE_VPS_NAME)End IfIf VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE ThenErr.ClearVendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUEIf Err.Number <> 0 ThenCheckErrorElseVendorSets.Save false, trueCheckErrorIf Err.Number = 0 ThenWScript.Echo "Done with " & SE_VPS_NAME & ", saved!"End IfEnd IfElseWScript.Echo "Done with " & SE_VPS_NAME & ", no change!"End IfEnd SubSub CheckError()If Err.Number <> 0 ThenWScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.DescriptionErr.ClearEnd IfEnd SubSetValue
-
Kör skriptet på en matrismedlemmar Threat Management Gateway. Skriptet ändringen börjar gälla när Threat Management Gateway-konfigurationen synkroniseras. Ingen brandvägg service omstart krävs för att ändringen ska börja gälla.
-
Leta upp följande rad i skriptet för att återställa ändringen och återgå till den ursprungliga funktionen:
Const SE_VPS_VALUE = 1
-
Ändra raden på följande sätt:
Const SE_VPS_VALUE = 0
-
Spara skript och köra skript på en av medlemmarna i matrisen.
Lösning
Undvik det här problemet genom att ta bort snedstreck eller Active Directory specialtecken från DN-attribut för användaren.
Status
Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet ”gäller”.
Mer information
Kommenterad specialtecken i Active Directory-attribut är följande:
-
Kommatecken ()
-
Omvänt snedstreck (\)
-
Nummertecken (#)
-
Plustecknet (+)
-
Mindre än-tecknet (<)
-
Större än-tecken)
-
Semikolon (;)
-
Citattecken (”)
-
Likhetstecken (=)
-
Inledande eller avslutande blanksteg
Exempel på attribut för användarkontot:
sAMAccountName: JeffSmithdisplayName: Svensson, jan / TMGdistinguishedName: CN = Smith\, Jeff / TMG, OU = stöd, DC = Fabrikam, DC = comKommentarer
-
Undantagstecknet omvänt snedstreck (\) läggs automatiskt till DN.
-
Attributet unikt namn för det här användarkontot innehåller både Active Directory specialtecken komma (,) och snedstreck (/).
Referenser
Mer information finns i följande avsnitt:
Se den terminologin som Microsoft använder för att beskriva programuppdateringar.