Príznaky
Predstavte si nasledujúcu situáciu:
-
Správca musí overovanie na základe formulárov (FBA) nastavenie v Microsoft Forefront Threat Management Gateway (TMG) 2010.
-
Rozlišujúci názov (DN) atribút používateľa obsahuje lomka (/) a Active Directory Lightweight Directory Access Protocol LDAP-definované špeciálny znak.
-
Používateľ pokúsi zmeniť svoje heslo.
V takomto prípade Zmena hesla je neúspešná a používateľovi sa zobrazí nasledujúce chybové hlásenie:
Meno používateľa alebo staré heslo nie je platné alebo nové heslo nespĺňa požiadavky minimálnej zjednodušiť. Skúste to znova.
Navyše sledovanie TMG 2010 môže uvádzať, že ADsOpenObjectzlyhal s 0x80005000 (E_ADS_BAD_PATHNAME) alebo 0x80072032 (ERROR_DS_INVALID_DN_SYNTAX) pretože špeciálny znak v LDAP žiadosti unikol .
Príčina
Tento problém sa vyskytuje pre každé používateľské konto služby Active Directory, pre ktoré DN atribút obsahuje špeciálny znak služby Active Directory a lomka znak.
Riešenie
Ak chcete vyriešiť tento problém, nainštalujte Rollup 4 pre Forefront Threat Management Gateway 2010 Service Pack 2, po nainštalovaní tejto aktualizácie, môžete nakonfigurovať Threat Management Gateway použiť atribútobjectGUIDnamiesto namiesto DistinguishedName atribút Active Directory LDAP cestu k problému, ktorý je popísaný v tomto článku. Ak chcete povoliť túto funkciu, postupujte nasledovne:
-
Skopírujte a prilepte nasledujúci skript do programu Poznámkový blok a uložte ho pomocou názvu súboru "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
-
Spustite skript na jedno pole členov Threat Management Gateway. Skript zmeny sa prejavia pri Threat Management Gateway Konfigurácia synchronizuje. Žiadne reštartovať službu Firewall je nevyhnutné zmeny prejavili.
-
Ak chcete vrátiť zmeny a vrátiť sa k pôvodnému správaniu, vyhľadajte nasledujúci riadok v skripte:
Const SE_VPS_VALUE = 1
-
Zmeňte tento riadok takto:
Const SE_VPS_VALUE = 0
-
Uložiť skript a spustite skript na jedno pole členov.
Alternatívne riešenie
Obísť tento problém, odstráňte lomkou alebo špeciálny znak služby Active Directory z DN atribút používateľa.
Stav
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.
Ďalšie informácie
Utiekli znakov v službe Active Directory atribúty sú nasledovné:
-
Čiarka ()
-
Opačnou lomkou (\)
-
Znak čísla (#)
-
Znamienko plus (+)
-
Menej ako (<>
-
Ako podpísať)
-
Bodkočiarku (;)
-
Úvodzovky (")
-
Znamienko rovnosti (=)
-
Na konci priestory
Príklad používateľského konta atribúty:
sAMAccountName: JeffSmithdisplayName: Kováč, Ján / TMGdistinguishedName: CN = Smith\, Ján / TMG, OU = podpora, DC = Fabrikam, DC = comPoznámky:
-
Únik lomky (\) sa pridá do DN.
-
Atribút distinguishedName používateľské konto obsahuje špeciálny znak služby Active Directory čiarka (,) a lomkou (/).
Odkazy
Ďalšie informácie nájdete v článku:
Pozrite si terminológia spoločnosť Microsoft používa na popis aktualizácií softvéru.