A função LsaLookupSids pode retornar o nome de usuário antigo em vez do novo nome de usuário se o nome de usuário tiver sido alterado
Este artigo descreve um atraso de atualização de cache no Windows.
Aplica-se a: Windows 10 — todas as edições, Windows Server 2012 R2
Número de KB original: 946358
Sintomas
Considere o seguinte cenário:
- No computador membro do domínio, um aplicativo chama a função LsaLookupSids para traduzir um SID (identificador de segurança) para um nome de usuário.
- O nome de usuário foi alterado em um controlador de domínio.
Nesse cenário, a função LsaLookupSids pode retornar o nome de usuário antigo em vez do novo nome de usuário. Esse comportamento pode impedir que o aplicativo funcione corretamente.
Motivo
A LSA (autoridade de segurança local) armazena em cache o mapeamento entre o SID e o nome de usuário em um cache local no computador membro do domínio. O nome de usuário armazenado em cache não é sincronizado com controladores de domínio. O LSA no computador membro do domínio primeiro consulta o cache SID local. Se um mapeamento existente já estiver no cache SID local, o LSA retornará as informações de nome de usuário armazenadas em cache em vez de consultar os controladores de domínio. Esse comportamento destina-se a melhorar o desempenho.
As entradas de cache fazem tempo limite, no entanto, as chances são de que consultas recorrentes por aplicativos mantenham a entrada de cache existente viva para o tempo máximo de vida da entrada de cache.
Solução alternativa
Para contornar esse problema, desabilite o cache SID local no computador membro do domínio. Para fazer isso, siga estas etapas:
Abra o Editor do Registro.
Para fazer isso no Windows XP ou no Windows Server 2003, clique em Iniciar, clique em Executar, digite regedit e clique em OK.
Para fazer isso no Windows Vista e mais recente, clique em Iniciar, digite regedit na caixa Iniciar Pesquisa e pressione ENTER.
Localize e clique com o botão direito do mouse na seguinte subchave do Registro:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
Aponte para Novo e clique em Valor DWORD.
Digite LsaLookupCacheMaxSize e pressione ENTER.
Clique com o botão direito do mouse em LsaLookupCacheMaxSize e clique em Modificar.
Na caixa de dados Valor , digite 0 e clique em OK.
Saia do Editor do Registro.
Observação
A entrada do registro LsaLookupCacheMaxSize define o número máximo de mapeamentos armazenados em cache que podem ser salvos no cache SID local. O número máximo padrão é 128. Quando a entrada do registro LsaLookupCacheMaxSize é definida como 0, o cache SID local é desabilitado.
Status
O comportamento é por design.
Mais informações
A LSA mantém um cache SID em computadores membros do domínio. Esse cache armazena mapeamentos entre SIDs e nomes de usuário. Se as informações sid existirem no cache local, a LSA retornará as informações de nome de usuário armazenadas em cache em vez de verificar se o nome de usuário foi alterado.
O cache SID local ajuda a reduzir a carga de trabalho do controlador de domínio e o tráfego de rede. No entanto, pode ocorrer inconsistência entre o cache local e os controladores de domínio.
Referências
O TechNet tem um artigo que aborda Sid-Name abordagens de resolução, incluindo uma descrição detalhada deste cache:
Como SIDs e nomes de conta podem ser mapeados no Windows
Para obter mais informações sobre a função LsaLookupSids , visite o seguinte site da Microsoft:
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários