Compartir a través de


ADSI y control de cuentas de usuario

Windows y Windows Server tienen control de cuentas de usuario, que tiene ramificaciones para las aplicaciones que usan interfaces de servicio de Active Directory (ADSI). En concreto, estas interfaces se diseñaron para que las ejecutara una cuenta de usuario con privilegios de administrador en el equipo local.

Problema

Cada vez que una aplicación se conecta al directorio e intenta crear un objeto ADSI, se comprueba si hay cambios en el esquema de Active Directory . Si ha cambiado desde la última conexión, el esquema se descarga y almacena en una memoria caché en el equipo local. En versiones de Windows anteriores a Windows Vista, la ubicación predeterminada de esta memoria caché era

%systemroot%\SchCache\

Sin embargo, las aplicaciones ejecutadas por cuentas estándar (es decir, no administrador) no tendrán acceso a este directorio y, por lo tanto, las aplicaciones que usan interfaces ADSI que se ejecutan en este modo descargarán el esquema en cada conexión, lo que afectará al rendimiento y al rendimiento.

Soluciones

Usuario único : para resolver este problema, hay nuevas claves de control del Registro del proveedor ADSI que determinan las ubicaciones del Registro y las ubicaciones de los archivos para los objetos de esquema de Active Directory almacenados en caché. Si la clave del Registro

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

se establece en 0 (cero), cada usuario tendrá una ubicación de almacenamiento diferente para ADSI; Las claves del Registro se almacenarán en

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

y los archivos de caché se almacenarán en

%LOCALAPPDATA%\Microsoft\Windows\SchCache

Esta configuración es la predeterminada en equipos que ejecutan Windows Server 2008 o Windows Vista.

Multiusuario : si ejecuta aplicaciones ADSI en un equipo con muchas cuentas de usuario (por ejemplo, un servidor web), es preferible no tener muchas copias de la caché de esquemas de Active Directory con grandes cantidades de espacio en disco. Establecimiento de la clave del Registro

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

a 1 (uno) revertirá ADSI al comportamiento anterior; todos los objetos de esquema de Active Directory se almacenarán en sus ubicaciones anteriores; la clave del Registro estará en

HKEY_LOCAL_MACHINE\Software\Microsoft\ADs\Providers\LDAP

y el archivo de caché estará en

%systemroot%\SchCache

En este caso, las cuentas de administrador deben ejecutar la aplicación, lo que hará que el archivo de esquema se almacene en caché en la ubicación global para su uso futuro por parte de los usuarios con menos privilegios.