Symptomer
Tenk deg følgende:
-
En administrator har skjemabasert godkjenning (FBA) definert i Microsoft Forefront Threat Management Gateway (TMG) 2010.
-
Unikt navn (DN)-attributtet for en bruker viser en skråstrek (/) og en Active Directory Lightweight Directory Access Protocol LDAP-definerte spesialtegn.
-
Brukeren prøver å endre passordet sitt.
I dette scenariet for endring av passord er ikke vellykket, og brukeren mottar følgende generelle feilmelding:
Enten brukernavnet eller gammelt passord er ikke gyldig, eller det nye passordet oppfyller ikke minimumskravene til kompleksitet. Prøv på nytt.
I tillegg bety sporing i TMG 2010 at ADsOpenObject mislyktes med 0x80005000 (E_ADS_BAD_PATHNAME) eller 0x80072032 (ERROR_DS_INVALID_DN_SYNTAX) fordi spesialtegn i LDAP-forespørselen escape-tegn.
Årsak
Dette problemet oppstår for en hvilken som helst Active Directory-brukerkontoen som DN-attributtet inneholder en Active Directory-spesialtegn og en skråstrek.
Oppløsning
Hvis du vil løse dette problemet, installerer du samleoppdatering 4 for Forefront Threat Management Gateway 2010 Service Pack 2. Når du har installert denne oppdateringen, kan du konfigurere Threat Management Gateway for å bruke attributtet objectGUID i stedet for DistinguishedName -attributt i Active Directory LDAP-banen for å løse problemet som er beskrevet i denne artikkelen. Følg denne fremgangsmåten hvis du vil aktivere denne funksjonaliteten:
-
Kopier og Lim inn følgende skript i Notisblokk, og deretter lagrer den med navnet "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 = 1 Sub 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 ' Obtain references to the array object ' and the network rules collection. Set array = curArray 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 If End Sub Sub CheckError() If Err.Number <> 0 Then WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description Err.Clear End If End Sub SetValue -
Kjør skriptet på ett av medlemmene Threat Management Gateway matrise. Skriptet endringen trer i kraft når du synkroniserer Threat Management Gateway-konfigurasjon. Brannmur service omstart er ikke nødvendig for at endringen skal tre i kraft.
-
Hvis du vil tilbakestille endringene og gå tilbake til den opprinnelige virkemåten, kan du finne følgende linje i skriptet:
Const SE_VPS_VALUE = 1
-
Slik endrer du denne linjen:
Const SE_VPS_VALUE = 0
-
Lagre skriptet, og deretter kjøre skriptet på ett av medlemmene matrise.
Løsningen
Du kan omgå dette problemet ved å fjerne skråstrek eller Active Directory-spesialtegn fra DN-attributtet for brukeren.
Status
Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".
Hvis du vil ha mer informasjon
Escape spesialtegn i Active Directory-attributter er som følger:
-
Komma ()
-
Omvendt skråstrek (\)
-
Nummertegn (#)
-
Plusstegnet (+)
-
Mindre enn-tegnet (<)
-
Større enn logg)
-
Semikolon (;)
-
Anførselstegn (")
-
Likhetstegnet (=)
-
Innledende eller etterfølgende mellomrom
Eksempel på brukerattributter konto:
sAMAccountName: JeffSmith
displayName: Jeff Smith / TMG distinguishedName: CN = Smith\, Jeff / TMG, OU = støtte, DC = Fabrikam, DC = com Notater-
En escape omvendt skråstrek (\) legges automatisk til det unike navnet.
-
Attributtet distinguishedName for denne kontoen inneholder både Active Directory spesialtegn komma (,) og en skråstrek (/).
Referanser
Hvis du vil ha mer informasjon, se følgende:
terminologien som Microsoft bruker til å beskrive oppdateringer av programvare.
Se