Ознаки
Розглянемо таку ситуацію:
-
Адміністратор може, на основі форм автентифікації (FBA) створити в Microsoft Forefront Threat Management Gateway (TMG) 2010.
-
Для користувачів, атрибут ім'я (DN) містить скісна риска (/) Active Directory легкий каталог доступ до протоколу LDAP, визначені спеціальних символів.
-
Користувач намагається змінити свій пароль.
У цьому випадку зміни пароля завершується невдало, і з'явиться таке повідомлення про помилку, загальний:
Ім'я користувача або старий пароль неправильний або новий пароль не відповідає вимогам складності. Спробуйте ще раз.
Крім того, трасування, TMG 2010, може повідомлятися ADsOpenObject помилка 0x80005000 (E_ADS_BAD_PATHNAME) або 0x80072032 (ERROR_DS_INVALID_DN_SYNTAX) через те, що спеціальний символ, запит LDAP, біг.
Причина
Ця проблема виникає, для будь-якого облікового запису Active Directory для якого DN атрибут містить спеціальний символ Active Directory та символ скісної риски.
Спосіб вирішення
Щоб вирішити цю проблему, інсталюйте зведене 4 для Forefront загрози Management Gateway 2010 пакет оновлень 2 після застосування цього оновлення, можна настроїти шлюз керування, щоб використовувати атрибут objectGUID , а не з DistinguishedName атрибута у шляху Active Directory, LDAP, щоб вирішити цю проблему, описану в цій статті. Щоб увімкнути цю функцію, виконайте такі дії.
-
Скопіюйте та вставте наведений нижче сценарій в текстовий файл і збережіть його за допомогою "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
-
Сценарій на одному з членами масив шлюз керування загрозами. Сценарій зміни наберуть сили під час синхронізації в конфігурації шлюз керування. Не перезавантаження для служби брандмауера, це необхідно, щоб зміни набрали сили.
-
Повернутися до змін і повернутися до знову, знайдіть такий рядок у сценарію:
Const SE_VPS_VALUE = 1
-
Змініть цей рядок наступним чином:
Const SE_VPS_VALUE = 0
-
Збережіть сценарій і запустіть сценарій на один з членів масиву.
Інші способи вирішення
Щоб вирішити цю проблему, скісної риски або видалити Active Directory, спеціальний символ з DN атрибут користувача.
Стан
Корпорація Майкрософт підтвердила існування цієї неполадки у продуктах Майкрософт, перелічених у розділі "Застосовується до".
Додаткові відомості
Втік спеціальні символи, в Active Directory атрибути наведено нижче.
-
Кома ()
-
Обернена скісна риска (\)
-
Знак номера (#)
-
Знак "плюс" (+)
-
Менше ніж "плюс" (<>
-
Більше знак)
-
З комою)
-
Прямі лапки (")
-
Знак рівності (=)
-
Міжрядковий інтервал або пробіли
Приклад атрибути для облікового запису користувача:
sAMAccountName: JeffSmithdisplayName: Сміт, Джеф / TMGdistinguishedName: CN = Smith\, Джеф або TMG, OU = підтримки, DC = Fabrikam, DC = comПримітки
-
Символ виходу зворотної скісної риски (\) додається до дн.
-
Для цього облікового запису користувача, атрибут distinguishedName містяться в Active Directory-спеціальний символ кома (,), так і скісної риски (/).
Посилання
Щоб отримати додаткові відомості див. нижче:
Термінологія Microsoft див., що використовується для опису оновлень програмного забезпечення.