La funzione LsaLookupSids può restituire il nome utente precedente anziché il nuovo nome utente se il nome utente è stato modificato

Questo articolo descrive un ritardo di aggiornamento della cache in Windows.

Si applica a: Windows 10: tutte le edizioni, Windows Server 2012 R2
Numero KB originale: 946358

Sintomi

Considerare lo scenario descritto di seguito:

  • Nel computer membro del dominio un'applicazione chiama la funzione LsaLookupSids per convertire un identificatore di sicurezza (SID) in un nome utente.
  • Il nome utente è stato modificato in un controller di dominio.

In questo scenario, la funzione LsaLookupSids può restituire il nome utente precedente anziché il nuovo nome utente. Questo comportamento potrebbe impedire il corretto funzionamento dell'applicazione.

Causa

L'autorità di sicurezza locale memorizza nella cache il mapping tra il SID e il nome utente in una cache locale nel computer membro del dominio. Il nome utente memorizzato nella cache non è sincronizzato con i controller di dominio. L'LSA nel computer membro del dominio esegue prima una query sulla cache SID locale. Se un mapping esistente si trova già nella cache SID locale, LSA restituisce le informazioni sul nome utente memorizzate nella cache anziché eseguire query sui controller di dominio. Questo comportamento ha lo scopo di migliorare le prestazioni.

Il timeout delle voci della cache si verifica, tuttavia è probabile che le query ricorrenti eseguite dalle applicazioni mantengano attiva la voce della cache esistente per la durata massima della voce della cache.

Soluzione alternativa

Per risolvere questo problema, disabilitare la cache SID locale nel computer membro del dominio. A tal fine, attenersi alla seguente procedura:

  1. Aprire l'editor del Registro di sistema.

    A tale scopo, in Windows XP o in Windows Server 2003, fare clic su Start, fare clic su Esegui, digitare regedit e quindi fare clic su OK.

    A tale scopo, in Windows Vista e versioni successive, fare clic su Start, digitare regedit nella casella Avvia ricerca e quindi premere INVIO.

  2. Individuare e fare clic con il pulsante destro del mouse sulla seguente sottochiave del Registro di sistema:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

  3. Scegliere Nuovo e quindi fare clic su Valore DWORD.

  4. Digitare LsaLookupCacheMaxSize e quindi premere INVIO.

  5. Fare clic con il pulsante destro del mouse su LsaLookupCacheMaxSize e quindi scegliere Modifica.

  6. Nella casella Dati valore digitare 0 e quindi fare clic su OK.

  7. Uscire dall'editor del Registro di sistema.

Nota

La voce del Registro di sistema LsaLookupCacheMaxSize imposta il numero massimo di mapping memorizzati nella cache che possono essere salvati nella cache SID locale. Il numero massimo predefinito è 128. Quando la voce del Registro di sistema LsaLookupCacheMaxSize è impostata su 0, la cache SID locale è disabilitata.

Stato

Il comportamento è in base alla progettazione.

Ulteriori informazioni

L'LSA gestisce una cache SID nei computer membri del dominio. Questa cache archivia i mapping tra SID e nomi utente. Se le informazioni SID sono presenti nella cache locale, l'LSA restituisce le informazioni sul nome utente memorizzate nella cache anziché verificare se il nome utente è stato modificato.

La cache SID locale consente di ridurre il carico di lavoro del controller di dominio e il traffico di rete. Tuttavia, può verificarsi un'incoerenza tra la cache locale e i controller di dominio.

Riferimenti

TechNet include un articolo che illustra Sid-Name approcci alla risoluzione, inclusa una descrizione dettagliata di questa cache:

Come eseguire il mapping di SID e nomi di account in Windows

Per altre informazioni sulla funzione LsaLookupSids , visitare il seguente sito Web Microsoft:

Funzione LsaLookupSids