CORRECTIF : Une modification de mot de passe réussit si l’attribut de nom unique d’un utilisateur contient une barre oblique et un caractère spécial défini de LDAP Active Directory dans Microsoft Forefront Threat Management Gateway 2010

Travaillez partout et à partir de n’importe quel appareil avec Microsoft 365

Effectuez une mise à niveau vers Microsoft 365 pour travailler partout avec les dernières fonctionnalités et mises à jour.

Mettre à niveau maintenant

Symptômes

Prenons l’exemple du scénario suivant :

  • Un administrateur a authentification basée sur les formulaires (FBA) configurée dans Microsoft Forefront Threat Management Gateway (TMG) 2010.

  • L’attribut de nom unique (DN) d’un utilisateur contient une barre oblique (/) et un caractère spécial défini par Active Directory Lightweight LDAP Directory Access Protocol.

  • L’utilisateur essaie de modifier son mot de passe.

Dans ce scénario, la modification du mot de passe échoue et l’utilisateur reçoit le message d’erreur générique suivant :

Le nom de l’utilisateur ou l’ancien mot de passe n’est pas valide, soit le nouveau mot de passe ne répond pas aux exigences de complexité minimales. Essayez à nouveau.

En outre, le traçage dans TMG 2010 peut indiquer que ADsOpenObject a échoué avec 0 x 80005000 (E_ADS_BAD_PATHNAME) ou 0x80072032 (ERROR_DS_INVALID_DN_SYNTAX), car la séquence d’échappement les caractères spéciaux dans la requête LDAP.

Cause

Ce problème se produit pour n’importe quel compte d’utilisateur Active Directory dont l’attribut de nom de domaine contient un caractère spécial d’Active Directory et un caractère de barre oblique.

Résolution

Pour résoudre ce problème, installez le correctif cumulatif 4 pour Forefront Threat Management Gateway 2010 Service Pack 2 après avoir appliqué cette mise à jour, vous pouvez configurer Threat Management Gateway pour utiliser l’attribut objectGUID au lieu de la DistinguishedName attribut de chemin d’accès Active Directory LDAP pour résoudre le problème qui est décrit dans cet article. Pour activer cette fonctionnalité, procédez comme suit :

  1. Copiez et collez le script suivant dans le bloc-notes puis l’enregistrer en utilisant le nom de fichier « 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. Exécutez le script sur l’un des membres du groupe de Threat Management Gateway. La modification du script prendront effet lors de la synchronisation de la configuration de la passerelle de gestion des menaces. Aucun redémarrage du service pare-feu n’est nécessaire pour que la modification soit prise en compte.

  3. Pour annuler la modification et revenir au comportement d’origine, recherchez la ligne suivante dans le script :

    Const SE_VPS_VALUE = 1

  4. Modifiez cette ligne comme suit :

    Const SE_VPS_VALUE = 0

  5. Enregistrez le script et puis exécuter le script sur l’un des membres du groupe.

Solution de contournement

Pour contourner ce problème, supprimez la barre oblique ou le caractère spécial de Active Directory à partir de l’attribut de nom unique de l’utilisateur.

Statut

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.

Informations supplémentaires

Les caractères spéciaux d’échappement dans les attributs Active Directory sont les suivantes :

  • Virgule ()

  • La barre oblique inverse (\)

  • Signe dièse (#)

  • Signe plus (+)

  • Inférieur à (<) de connexion

  • Supérieur à)

  • Point-virgule ( ;)

  • Guillemet (")

  • Signe égal (=)

  • Espaces à gauche ou

Exemple d’attributs du compte utilisateur :

sAMAccountName : JeffSmithdisplayName : Smith, Jeff / TMGdistinguishedName : CN = Smith\, Jeff / TMG, unité d’organisation = Support, DC = Fabrikam, DC = comRemarques

  • Le caractère d’échappement barre oblique inverse (\) est automatiquement ajouté pour le nom de domaine.

  • L’attribut distinguishedName pour ce compte d’utilisateur contient à la fois la virgule de caractère spécial d’Active Directory (,) et la barre oblique (/).

Références

Pour plus d’informations, consultez les rubriques suivantes :

Voir la terminologie Microsoft utilise pour décrire les mises à jour logicielles.

Besoin d’aide ?

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoindre Microsoft Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×