PATAISYMAS: slaptažodžio pakeitimas nesėkmingas, jei vartotojo DN atribute yra pasvirasis brūkšnys ir "Active Directory" LDAP apibrėžtas specialusis simbolis "Forefront Threat Management Gateway 2010"

Taikoma
Forefront Threat Management Gateway 2010 Enterprise Forefront Threat Management Gateway 2010 Standard

Požymiai

Apsvarstykite šį scenarijų:

  • Administratorius nustatė formomis pagrįstą autentifikavimą (FBA) "Microsoft Forefront Threat Management Gateway (TMG) 2010".
  • Vartotojo išskirtinio vardo (DN) atribute yra pasvirasis brūkšnys (/) ir "Active Directory" supaprastintosios prieigos prie katalogų protokolo (LDAP) apibrėžtas specialusis simbolis.
  • Vartotojas bando pakeisti savo slaptažodį.

        
Tokiu atveju slaptažodžio pakeisti nepavyks ir vartotojas gauna šį bendrą klaidos pranešimą:

Pastaba

Vartotojo vardas arba senasis slaptažodis netinkamas arba naujasis slaptažodis neatitinka minimalaus sudėtingumo reikalavimų. Bandykite vėliau.

Be to, sekimas TMG 2010 gali rodyti, kad ADsOpenObject nepavyko su 0x80005000 (E_ADS_BAD_PATHNAME) arba 0x80072032 (ERROR_DS_INVALID_DN_SYNTAX), nes LDAP užklausoje nebuvo naudojamas specialusis simbolis.

Priežastis

Ši problema kyla bet kuriai "Active Directory" vartotojo paskyrai, kurios DN atribute yra "Active Directory" specialusis simbolis ir pasvirasis brūkšnys.

Sprendimas

Norėdami išspręsti šią problemą, įdiekite "Forefront Threat Management Gateway 2010" 2 pakeitimų paketo 4 specifinių naujinimų paketą .

Pritaikę šį naujinimą, galite sukonfigūruoti grėsmių valdymo šliuzą naudoti atributą objectGUID vietoj atributo DistinguishedName "Active Directory" LDAP kelyje, kad išspręstumėte šiame straipsnyje aprašytą problemą. Norėdami įgalinti šią funkciją, atlikite toliau nurodytus veiksmus.

  1. Nukopijuokite ir įklijuokite šį scenarijų į užrašinę, tada įrašykite jį naudodami failo vardą "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
    
  2. Vykdykite scenarijų vienam iš grėsmių valdymo šliuzo masyvo narių. Scenarijaus pakeitimas įsigalios, kai bus sinchronizuota grėsmių valdymo šliuzo konfigūracija. Kad pakeitimas įsigaliotų, nereikia iš naujo paleisti užkardos tarnybos.

  3. Norėdami atšaukti keitimą ir grįžti prie pradinio veikimo, raskite šią scenarijaus eilutę:

    Konst SE_VPS_VALUE = 1

  4. Pakeiskite tą eilutę taip:

    Konst SE_VPS_VALUE = 0

  5. Įrašykite scenarijų, tada vykdykite scenarijų viename iš masyvo narių.

      

Sprendimo būdas

Norėdami išspręsti šią problemą, pašalinkite pasvirąjį brūkšnį arba specialųjį "Active Directory" simbolį iš vartotojo DN atributo.

Būsena

„„Microsoft““ patvirtino, kad tai yra „„Microsoft““ produktų, išvardytų dalyje „Taikoma“, problema.

Daugiau informacijos

Išvengti specialieji simboliai Active Directory atributuose yra tokie:

  • Kablelis (,)
  • Pasvirasis kairinis brūkšnys (\)
  • Numerio ženklas (#)
  • Pliuso ženklas (+)
  • Ženklas mažiau už (<)
  • Ženklas "daugiau nei" ( )
  • Kabliataškis (;)
  • Kabutė (")
  • Lygybės ženklas (=)
  • Tarpai pradžioje arba pabaigoje

Vartotojo paskyros atributų pavyzdys:

sAMAccountName: JeffSmith
ekrano vardas: Smith, Jeff / TMG
distinguishedName: CN=Smith\, Jeff / TMG,OU=Support,DC=Fabrikam,DC=com

Pastabos

  • Pasvirojo kairinio brūkšnio kaitos kaitos simbolis (\) automatiškai įtraukiamas į DN.
  • Šios vartotojo paskyros atribute distinguishedName yra ir "Active Directory" specialusis simbolis, kablelis (,) ir pasvirasis brūkšnys (/).

      

Nuorodos

Jei reikia daugiau informacijos, žr.:

Žr. terminus , kuriuos "„Microsoft“" naudoja apibūdindama programinės įrangos naujinimus.