사용자 이름이 변경된 경우 LsaLookupSids 함수는 새 사용자 이름 대신 이전 사용자 이름을 반환할 수 있습니다.

이 문서에서는 Windows의 캐시 업데이트 지연에 대해 설명합니다.

적용 대상: Windows 10 - 모든 버전, Windows Server 2012 R2
원래 KB 번호: 946358

증상

다음과 같은 경우를 생각해볼 수 있습니다.

  • 도메인 멤버 컴퓨터에서 애플리케이션은 LsaLookupSids 함수를 호출하여 SID(보안 식별자)를 사용자 이름으로 변환합니다.
  • 도메인 컨트롤러에서 사용자 이름이 변경되었습니다.

이 시나리오에서 LsaLookupSids 함수는 새 사용자 이름 대신 이전 사용자 이름을 반환할 수 있습니다. 이 동작으로 인해 애플리케이션이 제대로 작동하지 않을 수 있습니다.

원인

LSA(로컬 보안 기관)는 도메인 구성원 컴퓨터의 로컬 캐시에 있는 SID와 사용자 이름 간의 매핑을 캐시합니다. 캐시된 사용자 이름은 도메인 컨트롤러와 동기화되지 않습니다. 도메인 멤버 컴퓨터의 LSA는 먼저 로컬 SID 캐시를 쿼리합니다. 기존 매핑이 이미 로컬 SID 캐시에 있는 경우 LSA는 도메인 컨트롤러를 쿼리하는 대신 캐시된 사용자 이름 정보를 반환합니다. 이 동작은 성능을 향상시키기 위한 것입니다.

캐시 항목은 시간 초과를 수행합니다. 그러나 애플리케이션의 반복 쿼리는 캐시 항목의 최대 수명 동안 기존 캐시 항목을 활성 상태로 유지할 수 있습니다.

해결 방법

이 문제를 해결하려면 도메인 구성원 컴퓨터에서 로컬 SID 캐시를 사용하지 않도록 설정합니다. 이렇게 하려면 다음과 같이 하십시오.

  1. 레지스트리 편집기를 엽니다.

    Windows XP 또는 Windows Server 2003에서 이 작업을 수행하려면 시작을 클릭하고 실행을 클릭하고 regedit를 입력한 다음 확인을 클릭합니다.

    Windows Vista 이상에서 이 작업을 수행하려면 시작을 클릭하고 검색 시작 상자에 regedit를 입력한 다음 Enter 키를 누릅니다.

  2. 다음 레지스트리 하위 키를 찾아서 우측 클릭합니다.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

  3. 새로 만들기를 가리킨 다음 DWORD 값을 클릭합니다.

  4. LsaLookupCacheMaxSize를 입력한 다음 Enter 키를 누릅니다.

  5. LsaLookupCacheMaxSize를 마우스 오른쪽 단추로 클릭한 다음 수정을 클릭합니다.

  6. 값 데이터 상자에 0을 입력한 다음 확인을 클릭합니다.

  7. 레지스트리 편집기를 종료하십시오.

참고

LsaLookupCacheMaxSize 레지스트리 항목은 로컬 SID 캐시에 저장할 수 있는 캐시된 매핑의 최대 수를 설정합니다. 기본 최대 수는 128입니다. LsaLookupCacheMaxSize 레지스트리 항목이 0으로 설정되면 로컬 SID 캐시가 비활성화됩니다.

상태

동작은 의도적으로입니다.

추가 정보

LSA는 도메인 멤버 컴퓨터에서 SID 캐시를 유지 관리합니다. 이 캐시는 SID와 사용자 이름 간의 매핑을 저장합니다. SID 정보가 로컬 캐시에 있는 경우 LSA는 사용자 이름이 변경되었는지 여부를 확인하는 대신 캐시된 사용자 이름 정보를 반환합니다.

로컬 SID 캐시는 도메인 컨트롤러 워크로드 및 네트워크 트래픽을 줄이는 데 도움이 됩니다. 그러나 로컬 캐시와 도메인 컨트롤러 간에 불일치가 발생할 수 있습니다.

참조

TechNet에는 이 캐시에 대한 자세한 설명을 포함하여 Sid-Name 해결 방법을 다루는 문서가 있습니다.

Windows에서 SID 및 계정 이름을 매핑하는 방법

LsaLookupSids 함수에 대한 자세한 내용은 다음 Microsoft 웹 사이트를 참조하세요.

LsaLookupSids 함수