Die LsaLookupSids-Funktion gibt möglicherweise den alten Benutzernamen anstelle des neuen Benutzernamens zurück, wenn sich der Benutzername geändert hat.

In diesem Artikel wird eine Cacheupdateverzögerung in Windows beschrieben.

Gilt für: Windows 10 (alle Editionen), Windows Server 2012 R2
Ursprüngliche KB-Nummer: 946358

Problembeschreibung

Stellen Sie sich folgendes Szenario vor:

  • Auf dem Domänenmitgliedscomputer ruft eine Anwendung die LsaLookupSids-Funktion auf, um eine Sicherheits-ID (SID) in einen Benutzernamen zu übersetzen.
  • Der Benutzername wurde auf einem Domänencontroller geändert.

In diesem Szenario gibt die LsaLookupSids-Funktion möglicherweise den alten Benutzernamen anstelle des neuen Benutzernamens zurück. Dieses Verhalten kann verhindern, dass die Anwendung ordnungsgemäß funktioniert.

Ursache

Die lokale Sicherheitsautorität (LSA) speichert die Zuordnung zwischen der SID und dem Benutzernamen in einem lokalen Cache auf dem Domänenmitgliedscomputer zwischen. Der zwischengespeicherte Benutzername wird nicht mit Domänencontrollern synchronisiert. Die LSA auf dem Domänenmitgliedscomputer fragt zuerst den lokalen SID-Cache ab. Wenn sich bereits eine vorhandene Zuordnung im lokalen SID-Cache befindet, gibt die LSA die zwischengespeicherten Benutzernameninformationen zurück, anstatt die Domänencontroller abzufragen. Dieses Verhalten soll die Leistung verbessern.

Für die Cacheeinträge kann jedoch ein Timeout auftreten. Die Wahrscheinlichkeit besteht jedoch darin, dass wiederholte Abfragen von Anwendungen den vorhandenen Cacheeintrag für die maximale Lebensdauer des Cacheeintrags aktiv halten.

Problemumgehung

Um dieses Problem zu umgehen, deaktivieren Sie den lokalen SID-Cache auf dem Domänenmitgliedscomputer. Gehen Sie dazu wie folgt vor:

  1. Öffnen Sie den Registrierungs-Editor.

    Klicken Sie dazu in Windows XP oder Windows Server 2003 auf Start, klicken Sie auf Ausführen, geben Sie regedit ein, und klicken Sie dann auf OK.

    Klicken Sie dazu in Windows Vista und höher auf Start, geben Sie regedit in das Feld Suche starten ein, und drücken Sie dann die EINGABETASTE.

  2. Klicken Sie mit der rechten Maustaste auf den folgenden Registrierungsunterschlüssel:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

  3. Zeigen Sie auf Neu, und klicken Sie dann auf DWORD-Wert.

  4. Geben Sie LsaLookupCacheMaxSize ein, und drücken Sie dann die EINGABETASTE.

  5. Klicken Sie mit der rechten Maustaste auf LsaLookupCacheMaxSize, und klicken Sie dann auf Ändern.

  6. Geben Sie im Feld Wertdaten den Wert 0 ein, und klicken Sie dann auf OK.

  7. Beenden Sie den Registrierungs-Editor.

Hinweis

Der Registrierungseintrag LsaLookupCacheMaxSize legt die maximale Anzahl von zwischengespeicherten Zuordnungen fest, die im lokalen SID-Cache gespeichert werden können. Die maximale Standardzahl ist 128. Wenn der Registrierungseintrag LsaLookupCacheMaxSize auf 0 festgelegt ist, wird der lokale SID-Cache deaktiviert.

Status

Das Verhalten ist beabsichtigt.

Weitere Informationen

Die LSA verwaltet einen SID-Cache auf Domänenmitgliedscomputern. Dieser Cache speichert Zuordnungen zwischen SIDs und Benutzernamen. Wenn die SID-Informationen im lokalen Cache vorhanden sind, gibt die LSA die zwischengespeicherten Benutzernameninformationen zurück, anstatt zu überprüfen, ob sich der Benutzername geändert hat.

Der lokale SID-Cache trägt dazu bei, die Workload und den Netzwerkdatenverkehr des Domänencontrollers zu reduzieren. Es kann jedoch zu Inkonsistenzen zwischen dem lokalen Cache und den Domänencontrollern kommen.

References

TechNet enthält einen Artikel, der Sid-Name Lösungsansätze behandelt, einschließlich einer detaillierten Beschreibung dieses Caches:

Wie SIDs und Kontonamen in Windows zugeordnet werden können

Weitere Informationen zur LsaLookupSids-Funktion finden Sie auf der folgenden Microsoft-Website:

LsaLookupSids-Funktion