ADSI dan Kontrol Akun Pengguna

Windows dan Windows Server memiliki Kontrol Akun Pengguna, yang memiliki ramifikasi untuk aplikasi yang menggunakan Antarmuka Layanan Direktori Aktif (ADSI). Secara khusus, antarmuka ini dirancang untuk dijalankan oleh akun pengguna dengan hak istimewa administrator di komputer lokal.

Masalah

Setiap kali aplikasi terhubung ke direktori dan mencoba membuat objek ADSI, Skema Direktori Aktif diperiksa untuk perubahan. Jika telah berubah sejak koneksi terakhir, skema diunduh dan disimpan dalam cache di komputer lokal. Dalam versi Windows sebelum Windows Vista, lokasi default untuk cache ini adalah

%systemroot%\SchCache\

Namun, aplikasi yang dijalankan berdasarkan akun standar (yaitu, non-administrator) tidak akan memiliki akses ke direktori ini, dan akibatnya, aplikasi yang menggunakan antarmuka ADSI yang dijalankan dalam mode ini akan mengunduh skema pada setiap koneksi, yang akan berdampak pada throughput dan performa.

Solusi

Pengguna tunggal - Untuk mengatasi masalah ini, ada kunci kontrol registri Penyedia ADSI baru yang menentukan lokasi registri dan lokasi file untuk objek Skema Direktori Aktif yang di-cache. Jika kunci registri

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

diatur ke 0 (nol), setiap pengguna akan memiliki lokasi penyimpanan yang berbeda untuk ADSI; kunci registri akan disimpan di

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

dan file cache akan disimpan di

%LOCALAPPDATA%\Microsoft\Windows\SchCache

Pengaturan ini adalah pengaturan default pada komputer yang menjalankan Windows Server 2008 atau Windows Vista.

Multi-pengguna - Jika Anda menjalankan aplikasi ADSI di komputer dengan banyak akun pengguna (misalnya, server web), sebaiknya tidak memiliki banyak salinan cache Skema Direktori Aktif menggunakan ruang disk dalam jumlah besar. Mengatur kunci registri

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

ke 1 (satu) akan mengembalikan ADSI ke perilaku sebelumnya; semua objek Skema Direktori Aktif akan disimpan di lokasi sebelumnya; kunci registri akan berada di

HKEY_LOCAL_MACHINE\Software\Microsoft\ADs\Providers\LDAP

dan file cache akan berada di

%systemroot%\SchCache

Dalam hal ini, akun administrator harus menjalankan aplikasi, yang akan menyebabkan file skema di-cache di lokasi global untuk digunakan di masa mendatang oleh pengguna yang kurang istimewa.