Das Feature "Kennwort ändern" funktioniert nicht wie erwartet nach der Installation von ISA Server 2006 Service Pack 1 oder Microsoft Threat Management Gateway 2010

Gilt für: Forefront Threat Management Gateway 2010

Problembeschreibung


Nach der Anwendung Microsoft Internet Security und Acceleration (ISA) Server Servicepack 1 (SP1) oder Microsoft Forefront Threat Management Gateway (TMG) 2010 können Sie feststellen, dass das Feature "Kennwort ändern" nicht wie erwartet. Beispielsweise können Sie in Active Directory-Einstellungen die Einstellung "Benutzer muss Kennwort bei der nächsten Anmeldung ändern" eines bestimmten Benutzerkontos. Wenn der Benutzer versucht, sich mit formularbasierte Authentifizierung (FBA), wenn das Feature "Kennwort ändern" in ISA Server oder TMG Server aktiviert ist, wird der Benutzer nicht automatisch dem Formular umgeleitet, die verwendet wird, um das Kennwort zu ändern.

Ursache


Dieses Problem tritt auf, wenn FBA mit Lightweight Directory Access Protocol (LDAP) verwendet wird. In ISA Server 2006 SP1 wurde das Standardverhalten geändert, wenn Sie FBA mit LDAP verwenden. Diese Änderung wurde vorgenommen, um Schutz vor Angriffen Authentifizierung. Weitere Informationen finden Sie im Abschnitt "Changes in Servicepack 1" von der folgenden Microsoft TechNet Web Site:

Lösung


Gehen Sie folgendermaßen vor, um dieses Problem zu beheben:
  1. Installieren Sie das Hotfix-Paket beschrieben wird, im folgenden Artikel der Microsoft Knowledge Base:
    959357 Beschreibung des ISA Server 2006-Hotfix-Pakets: 29. Oktober 2008
    Beachten Sie, dass zuerst Microsoft Threat Management Gateway (TMG) Server nicht zutrifft. Dieser Hotfix ist im Produkt enthalten.
  2. Starten Sie den Editor.
  3. Fügen Sie das folgende Skript in Editor-Datei.
    ' -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-' -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-'    This code is Copyright (c) 2007 Microsoft Corporation.  ''    All rights reserved.''    THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF'    ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO'    THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A'    PARTICULAR PURPOSE.''    IN NO EVENT SHALL MICROSOFT AND/OR ITS RESPECTIVE SUPPLIERS BE'    LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY'    DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,'    WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS'    ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE'    OF THIS CODE OR INFORMATION.'' -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-If Not WScript.Arguments.Named.Exists("WebListener") Then    WScript.Echo "WebListener not defined"    WScript.Quit(1)End IfSet fpcRoot = CreateObject("FPC.Root")Set fpcArray = fpcRoot.GetContainingArray()Set fpcWebListener = fpcArray.RuleElements.WebListeners(WScript.Arguments.Named("WebListener"))Set fpcWebListenerVps = fpcWebListener.VendorParametersSetsOn Error Resume NextSet fpcCookieAuthVps = fpcWebListenerVps.Item("{29022EBA-B030-4839-9CA6-DD8875BC7B47}")If Err.number = 0 Then    CookieAuthVpsExists = TrueElse    CookieAuthVpsExists = FalseEnd IfErr.ClearOn Error GoTo 0If Not CookieAuthVpsExists Then    WScript.Echo "Cookie auth VPS settings not defined, hotfix 957859 disabled"Else    On Error Resume Next    WScript.Echo "EnableLDAPPasswordExpiration: " & (fpcCookieAuthVps.Value("EnableLDAPPasswordExpiration") = True)End IfIf WScript.Arguments.Named.Exists("Value") Then    If Not CookieAuthVpsExists Then        Set fpcCookieAuthVps = fpcWebListenerVps.Add("{29022EBA-B030-4839-9CA6-DD8875BC7B47}")    End If    fpcCookieAuthVps.Value("EnableLDAPPasswordExpiration") = (StrComp(WScript.Arguments.Named("Value"), "True", 1) = 0)    fpcArray.Save    WScript.Echo "EnableLDAPPasswordExpiration set to " & (fpcCookieAuthVps.Value("EnableLDAPPasswordExpiration") = True)End If 
  4. Mit der Erweiterung VBS Speichern dieser Datei. Verwenden Sie beispielsweise folgenden Namen zum Speichern dieser Datei:
    EnableHotfix957859.vbs
  5. Öffnen Sie ein Eingabeaufforderungsfenster, den Speicherort die Datei EnableHotfix957859.vbs nach und geben Sie folgenden Befehl:
    Cscript EnableHotfix957859.vbs /webListener: < Listenernamen > /Value:true
    Hinweis Ersetzen Sie in diesem Befehl < Listenernamen > durch den tatsächlichen Namen des Weblisteners.
Wichtig: Wenn Sie Hotfix 959357 entfernen möchten, öffnen Sie ein Eingabeaufforderungsfenster, wechseln Sie zu dem Speicherort die Datei EnableHotfix957859.vbs und geben Sie folgenden Befehl: Cscript EnableHotfix957859.vbs /webListener: < Listenernamen> /Value:falseBeachten Sie In diesem Befehl Ersetzen Sie <Listenernamen> durch den tatsächlichen Namen des Weblisteners.

Status


Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.

Informationsquellen


Weitere Informationen zur Terminologie für Softwareupdates von Microsoft finden Sie im folgenden Artikel der Microsoft Knowledge Base:
824684 Beschreibung der Standardterminologie, die zum Beschreiben von Microsoft-Softwareupdates verwendet wird