Sintomas

Considere o seguinte cenário:

  • Um administrador tem baseada em formulários autenticação (FBA) definida no Microsoft Forefront ameaça gestão Gateway (TMG) 2010.

  • O atributo de nome distinto (DN) para um utilizador contém uma barra (/) e um carácter especial definido pelo Active Directory Lightweight Directory Access Protocol LDAP.

  • O utilizador tenta alterar a palavra-passe.

Neste cenário, a alteração de palavra-passe não terá êxito e o utilizador recebe a seguinte mensagem de erro genérico:

Ou o nome de utilizador ou palavra-passe antiga não é válido ou a nova palavra-passe não cumpre os requisitos de complexidade mínimos. Volte a tentar.

Além disso, o rastreio no TMG 2010 poderá indicar que ADsOpenObject falhou com o 0x80005000 (E_ADS_BAD_PATHNAME) ou 0x80072032 (ERROR_DS_INVALID_DN_SYNTAX), uma vez que o carácter especial no pedido LDAP encerradas.

Causa

Este problema ocorre para qualquer conta de utilizador do Active Directory para o qual o atributo de DN contém um carácter especial do Active Directory e um carácter de barra.

Resolução

Para resolver este problema, instale o Rollup 4 para o Forefront ameaça gestão Gateway 2010 Service Pack 2. depois de aplicar esta actualização, pode configurar o Gateway de gestão de ameaça para utilizar o atributo GUID de objecto em vez de DistinguishedName atributo no caminho de LDAP do Active Directory para resolver o problema descrito neste artigo. Para activar esta funcionalidade, siga estes passos:

  1. Copie e cole o seguinte script no bloco de notas e, em seguida, guardá-lo utilizando o nome do ficheiro "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
  2. Execute o script em um dos membros da matriz de Gateway de gestão de ameaça. A alteração de script terão efeito quando sincroniza a configuração de Gateway de gestão de ameaça. Sem reinício do serviço de Firewall é necessário para que a alteração tenha efeito.

  3. Para reverter a alteração e voltar para o comportamento original, localize a seguinte linha no script:

    Const SE_VPS_VALUE = 1

  4. Altere essa linha ter a seguinte redacção:

    Const SE_VPS_VALUE = 0

  5. Guarde o script e, em seguida, execute o script em um dos membros da matriz.

Solução

Para contornar este problema, remova a barra ou o carácter especial do Active Directory o atributo DN do utilizador.

Estado

A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".

Mais Informações

Um carácter de escape caracteres especiais nos atributos do Active Directory são os seguintes:

  • Vírgula ()

  • Barra invertida (\)

  • Sinal de cardinal (#)

  • Sinal de adição (+)

  • (<) De sinal de menor que

  • Superior a assinar)

  • Ponto e vírgula (;)

  • Aspas Duplas (")

  • Sinal de igual (=)

  • À esquerda ou espaços à direita

Exemplo de atributos de contas de utilizador:

sAMAccountName: JeffSmithdisplayName: Silva, João / TMGdistinguishedName: CN = Smith\, João / TMG, UO = suporte, DC = Fabrikam, DC = comNotas

  • O carácter de escape de barra invertida (\) é automaticamente adicionado o DN.

  • O atributo distinguishedName para esta conta de utilizador contém a vírgula de carácter especial do Active Directory (,) e a barra (/).

Referências

Para mais informações, consulte o seguinte:

Consulte a terminologia Microsoft utiliza para descrever actualizações de software.

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.