LsaLookupSids işlevi, kullanıcı adı değiştiyse yeni kullanıcı adı yerine eski kullanıcı adını döndürebilir

Bu makalede, Windows'ta önbellek güncelleştirme gecikmesi açıklanır.

Şunlar için geçerlidir: Windows 10 - tüm sürümler, Windows Server 2012 R2
Özgün KB numarası: 946358

Belirtiler

Aşağıdaki senaryoyu inceleyin:

  • Etki alanı üyesi bilgisayarda, bir uygulama güvenlik tanımlayıcısını (SID) kullanıcı adına çevirmek için LsaLookupSids işlevini çağırır.
  • Etki alanı denetleyicisinde kullanıcı adı değiştirildi.

Bu senaryoda , LsaLookupSids işlevi yeni kullanıcı adı yerine eski kullanıcı adını döndürebilir. Bu davranış, uygulamanın düzgün çalışmasını engelleyebilir.

Neden

Yerel güvenlik yetkilisi (LSA), etki alanı üyesi bilgisayardaki yerel önbellekte SID ile kullanıcı adı arasındaki eşlemeyi önbelleğe alır. Önbelleğe alınan kullanıcı adı etki alanı denetleyicileriyle eşitlenmez. Etki alanı üyesi bilgisayardaki LSA önce yerel SID önbelleğini sorgular. Mevcut bir eşleme zaten yerel SID önbelleğindeyse, LSA etki alanı denetleyicilerini sorgulamak yerine önbelleğe alınmış kullanıcı adı bilgilerini döndürür. Bu davranış, performansı geliştirmeye yöneliktir.

Önbellek girdileri zaman aşımına uğradı, ancak uygulamalar tarafından yapılan yinelenen sorguların önbellek girdisinin en uzun ömrü boyunca mevcut önbellek girdisini canlı tutma olasılığı yüksektir.

Geçici Çözüm

Bu sorunu geçici olarak çözmek için etki alanı üyesi bilgisayarda yerel SID önbelleğini devre dışı bırakın. Bunu yapmak için şu adımları uygulayın:

  1. Kayıt Defteri Düzenleyicisi'ni açın.

    Bunu Windows XP veya Windows Server 2003'te yapmak için Başlat'a tıklayın, Çalıştır'a tıklayın, regedit yazın ve ardından Tamam'a tıklayın.

    Bunu Windows Vista ve daha yeni sürümlerde yapmak için Başlat'a tıklayın, Aramayı Başlat kutusuna regedit yazın ve ENTER tuşuna basın.

  2. Aşağıdaki kayıt defteri alt anahtarını bulun ve ardından anahtara sağ tıklayın:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

  3. Yeni'nin üzerine gelin ve DWORD Değeri'ne tıklayın.

  4. LsaLookupCacheMaxSize yazıp ENTER tuşuna basın.

  5. LsaLookupCacheMaxSize öğesine sağ tıklayın ve ardından Değiştir'e tıklayın.

  6. Değer verileri kutusuna 0 yazın ve Tamam'a tıklayın.

  7. Kayıt Defteri Düzenleyicisi'nden çıkın.

Not

LsaLookupCacheMaxSize kayıt defteri girdisi, yerel SID önbelleğine kaydedilebilecek en fazla önbelleğe alınmış eşleme sayısını ayarlar. Varsayılan maksimum sayı 128'dir. LsaLookupCacheMaxSize kayıt defteri girdisi 0 olarak ayarlandığında, yerel SID önbelleği devre dışı bırakılır.

Durum

Davranış tasarım gereğidir.

Daha fazla bilgi

LSA, etki alanı üyesi bilgisayarlarda bir SID önbelleği tutar. Bu önbellek, SID'ler ve kullanıcı adları arasındaki eşlemeleri depolar. SID bilgileri yerel önbellekte varsa, LSA kullanıcı adının değişip değişmediğini denetlemek yerine önbelleğe alınmış kullanıcı adı bilgilerini döndürür.

Yerel SID önbelleği, etki alanı denetleyicisi iş yükünü ve ağ trafiğini azaltmaya yardımcı olur. Ancak, yerel önbellek ve etki alanı denetleyicileri arasında tutarsızlık oluşabilir.

Başvurular

TechNet'te bu önbelleğin ayrıntılı açıklaması da dahil olmak üzere Sid-Name çözümleme yaklaşımlarını kapsayan bir makale vardır:

WINDOWS'ta SID'ler ve Hesap Adları Nasıl Eşlenebilir?

LsaLookupSids işlevi hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:

LsaLookupSids işlevi