Partager via


ADSI et contrôle de compte d’utilisateur

Windows et Windows Server ont le contrôle de compte d’utilisateur, qui a des ramifications pour les applications qui utilisent des interfaces de service Active Directory (ADSI). Plus précisément, ces interfaces ont été conçues pour être exécutées par un compte d’utilisateur disposant de privilèges d’administrateur sur l’ordinateur local.

Problème

Chaque fois qu’une application se connecte au répertoire et tente de créer un objet ADSI, le schéma Active Directory est vérifié pour les modifications. S’il a changé depuis la dernière connexion, le schéma est téléchargé et stocké dans un cache sur l’ordinateur local. Dans les versions de Windows antérieures à Windows Vista, l’emplacement par défaut de ce cache était

%systemroot%\SchCache\

Toutefois, les applications exécutées par des comptes standard (autrement dit, non administrateur) n’auront pas accès à ce répertoire et, par conséquent, les applications qui utilisent des interfaces ADSI exécutées dans ce mode téléchargent le schéma sur chaque connexion, ce qui aura un impact sur le débit et les performances.

Solutions

Utilisateur unique : pour résoudre ce problème, il existe de nouvelles clés de contrôle de Registre du fournisseur ADSI qui déterminent les emplacements du Registre et les emplacements des fichiers pour les objets de schéma Active Directory mis en cache. Si la clé de Registre

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

est défini sur 0 (zéro), chaque utilisateur aura un emplacement de stockage différent pour ADSI ; les clés de Registre seront stockées dans

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

et les fichiers de cache seront stockés dans

%LOCALAPPDATA%\Microsoft\Windows\SchCache

Ces paramètres sont les paramètres par défaut sur les ordinateurs exécutant Windows Server 2008 ou Windows Vista.

Multi-utilisateur : si vous exécutez des applications ADSI sur un ordinateur avec de nombreux comptes d’utilisateur (par exemple, un serveur web), il est préférable de ne pas avoir de nombreuses copies du cache de schéma Active Directory utilisant une grande quantité d’espace disque. Définition de la clé de Registre

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

la valeur 1 (un) rétablit ADSI au comportement précédent ; tous les objets de schéma Active Directory seront stockés dans leurs emplacements précédents ; la clé de Registre sera dans

HKEY_LOCAL_MACHINE\Software\Microsoft\ADs\Providers\LDAP

et le fichier cache sera dans

%systemroot%\SchCache

Dans ce cas, les comptes d’administrateur doivent exécuter l’application, ce qui entraîne la mise en cache du fichier de schéma à l’emplacement global pour une utilisation ultérieure par les utilisateurs les moins privilégiés.