Dotyczy
Forefront Threat Management Gateway 2010 Enterprise Forefront Threat Management Gateway 2010 Standard

Symptomy

Rozpatrzmy następujący scenariusz:

  • Administrator ma uwierzytelnianie formularzy (FBA) skonfigurować w Microsoft zagrożenie Management Gateway (Poruszać) 2010.

  • Atrybut nazwy wyróżniającej (DN) dla użytkownika zawiera ukośnik (/) i specjalnych znaków zdefiniowanych przez Active Directory Lightweight Directory Access Protocol LDAP.

  • Użytkownik próbuje zmienić swoje hasło.

W tym scenariuszu zmiany hasła nie powiedzie się, a użytkownik otrzymuje następujący komunikat o błędzie ogólnym:

Nazwa użytkownika lub stare hasło nie jest prawidłowe lub nowe hasło nie spełnia minimalnych wymagań dotyczących złożoności. Spróbuj ponownie.

Dodatkowo śledzenie w TMG 2010 może wskazywać, że nie ADsOpenObject z 0x80005000 (E_ADS_BAD_PATHNAME) lub 0x80072032 (ERROR_DS_INVALID_DN_SYNTAX), ponieważ wyjściowym znak specjalny w żądaniu LDAP.

Przyczyna

Ten problem występuje dla wszystkich kont użytkowników usługi Active Directory, dla których atrybut DN zawiera znak specjalny usługi Active Directory i znaku kreski ułamkowej.

Rozwiązanie

Aby rozwiązać ten problem, należy zainstalować 4 pakiet zbiorczy dla programu Forefront zagrożenie Management Gateway 2010 z dodatkiem Service Pack 2. po zastosowaniu tej aktualizacji, można skonfigurować Threat Management Gateway, aby używać zamiast DistinguishedName atrybutu w ścieżce Active Directory LDAP, aby rozwiązać problem opisany w tym artykule. Aby włączyć tę funkcję, wykonaj następujące kroki:

  1. Skopiuj i wklej poniższy skrypt do Notatnika, a następnie zapisz go przy użyciu nazwy pliku "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. Uruchom skrypt na jednego z członków tablicy Threat Management Gateway. Zmiana skryptu zostaną wprowadzone podczas synchronizowania konfiguracji Threat Management Gateway. Bez ponownego uruchamiania usługi zapory jest niezbędne do zmiany zaczęły obowiązywać.

  3. Aby przywrócić zmiany i przywrócić oryginalne zachowanie, zlokalizuj następujący wiersz w skrypcie:

    Const SE_VPS_VALUE = 1

  4. Zmień ten wiersz w następujący sposób:

    Const SE_VPS_VALUE = 0

  5. Zapisz skrypt, a następnie uruchom skrypt na jednym z elementów członkowskich macierzy.

Obejście

Aby obejść ten problem, należy usunąć ukośnik lub znak specjalny usługi Active Directory z Atrybut DN użytkownika.

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.

Więcej informacji

Oznaczenie znaków specjalnych w atrybutów usługi Active Directory są następujące:

  • Przecinek ()

  • Kreski ułamkowej odwróconej (\)

  • Znak numeru (#)

  • Znak plus (+)

  • Mniejsze niż (<)

  • Większa niż znak)

  • Średnik (;)

  • CUDZYSŁOWIE

  • Znak równości (=)

  • Spacje początkowe i końcowe

Przykład atrybutów konta użytkownika:

sAMAccountName: JeffSmithdisplayName: Kowalski, Jan / TMGdistinguishedName: CN = Smith\, Jeff / TMG, jednostka Organizacyjna pomocy technicznej, DC = Fabrikam, DC = comUwagi

  • Znak anulowania odwróconej kreski ułamkowej (\) jest automatycznie dodawany do nazwy Wyróżniającej.

  • Atrybut distinguishedName dla tego konta użytkownika zawiera zarówno usługi Active Directory znak specjalny przecinek (,) i ukośnik (/).

Informacje

Aby uzyskać więcej informacji zobacz:

Zobacz terminologia firma Microsoft używa do opisywania aktualizacji oprogramowania.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.