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:
-
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
-
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ć.
-
Aby przywrócić zmiany i przywrócić oryginalne zachowanie, zlokalizuj następujący wiersz w skrypcie:
Const SE_VPS_VALUE = 1
-
Zmień ten wiersz w następujący sposób:
Const SE_VPS_VALUE = 0
-
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.