다음을 통해 공유


ADSI 및 사용자 계정 컨트롤

Windows 및 Windows Server에는 사용자 계정 컨트롤있습니다. 이 컨트롤은 ADSI(Active Directory Service Interfaces)를 사용하는 애플리케이션에 영향을 줍니다. 특히 이러한 인터페이스는 로컬 컴퓨터에서 관리자 권한이 있는 사용자 계정에 의해 실행되도록 설계되었습니다.

문제

애플리케이션이 디렉터리에 연결하고 ADSI 개체를 만들려고 할 때마다 Active Directory 스키마 변경 내용을 확인합니다. 마지막 연결 이후 변경된 경우 스키마가 다운로드되어 로컬 컴퓨터의 캐시에 저장됩니다. Windows Vista 이전의 Windows 버전에서 이 캐시의 기본 위치는 입니다.

%systemroot%\SchCache\

그러나 표준(관리자가 아닌) 계정으로 실행되는 애플리케이션은 이 디렉터리에 액세스할 수 없으므로 이 모드에서 실행되는 ADSI 인터페이스를 사용하는 애플리케이션은 모든 연결에서 스키마를 다운로드하여 처리량 및 성능에 영향을 줍니다.

솔루션

단일 사용자 - 이 문제를 해결하기 위해 캐시된 Active Directory 스키마 개체의 레지스트리 위치 및 파일 위치를 결정하는 새로운 ADSI 공급자 레지스트리 제어 키가 있습니다. 레지스트리 키인 경우

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\adsi\Cache\PerMachine

는 0으로 설정되고 각 사용자는 ADSI에 대해 다른 스토리지 위치를 갖게 됩니다. 레지스트리 키는

HKEY_CURRENT_USER\Software\Microsoft\ADs\Providers\LDAP\

및 캐시 파일은

%LOCALAPPDATA%\Microsoft\Windows\SchCache

이러한 설정은 Windows Server 2008 또는 Windows Vista를 실행하는 컴퓨터의 기본 설정입니다.

다중 사용자 - 많은 사용자 계정(예: 웹 서버)이 있는 컴퓨터에서 ADSI 애플리케이션을 실행하는 경우 많은 양의 디스크 공간을 사용하여 Active Directory 스키마 캐시의 복사본을 많이 포함하지 않는 것이 좋습니다. 레지스트리 키 설정

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\adsi\Cache\PerMachine

ADSI를 1(1)로 되돌리면 ADSI가 이전 동작으로 되돌아갑니다. 모든 Active Directory 스키마 개체는 이전 위치에 저장됩니다. 레지스트리 키는

HKEY_LOCAL_MACHINE\Software\Microsoft\ADs\Providers\LDAP

캐시 파일은

%systemroot%\SchCache

이 경우 관리자 계정은 애플리케이션을 실행해야 하며, 이로 인해 권한 없는 사용자가 나중에 사용하기 위해 스키마 파일이 전역 위치에 캐시됩니다.