Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Windows NT 4.0 etki alanlarından farklı olarak, Windows 2000 kullanıcıları bir etki alanındaki herhangi bir kapsayıcıya veya kuruluş birimine (OU) ve etki alanının köküne yerleştirilebilir. Bu, kullanıcıların dizin hiyerarşisinde çok sayıda konumda olabileceği anlamına gelir. Bu nedenle, kullanıcıları numaralandırmak için iki seçeneğiniz vardır:
Doğrudan kapsayıcıda, OU'da veya etki alanının kökünde bulunan kullanıcıları listeleyin.
Numaralandırmak istediğiniz kullanıcıları içeren kapsayıcı nesnesine açıkça bağlanın, IADsContainer.Filter özelliğini kullanarak sınıf olarak "user" içeren bir filtre ayarlayın ve kullanıcı nesnelerini listelemek için IADsContainer::get__NewEnum yöntemini kullanın.
Bu teknik, doğrudan bir kapsayıcı veya OU nesnesinde bulunan kullanıcıları listelemek için kullanılabilir. Kapsayıcıda başka kullanıcıları içerebilecek başka kapsayıcılar varsa, bu kapsayıcılara bağlamanız ve bu kapsayıcılardaki kullanıcıları yinelemeli olarak listelemeniz gerekir. Kullanıcı nesnelerini işlemeniz gerekmiyorsa ve yalnızca belirli özellikleri okumanız gerekiyorsa, Seçenek 2'de açıklanan derin aramayı kullanın.
Numaralandırma, her kullanıcı nesnesini temsil eden ADSI COM nesnelerine işaretçiler döndürdüğünden, KIMLIKlerini, IADsUseralmak ve kullanıcı nesnesine yönelik IADsPropertyList arabirim işaretçilerini almak için QueryInterface çağırabilirsiniz. Bu, her kullanıcı nesnesine açıkça bağlanmak zorunda kalmadan kapsayıcıdaki numaralandırılmış her kullanıcı nesnesine arabirim işaretçileri alabileceğiniz anlamına gelir. Bir kapsayıcının içindeki tüm kullanıcılar üzerinde işlem gerçekleştirmek için numaralandırma, IAD'leri veya IADsUser yöntemlerini çağırmak için her kullanıcıya bağlanmak zorunda kalmamasını sağlar. Kullanıcılardan belirli özellikleri almak için, 2. seçenekte açıklandığı gibi IDirectorySearch kullanın.
Ağaçtaki tüm kullanıcıları bulmak için (&(objectClass=user)(objectCategory=person)) için derin bir arama yapın:
İlk olarak, aramaya başlayacağınız kapsayıcı nesnesine bağlayın. Örneğin, bir etki alanındaki tüm kullanıcıları bulmak için etki alanının köküne (yani kök dizinine) bağlanın; ormandaki tüm kullanıcıları bulmak için genel kataloğa bağlanın ve genel katalogun (GC) kökünden arama yapın.
Ardından IDirectorySearch kullanarak (&(objectClass=user)(objectCategory=person)) ve ADS_SCOPE_SUBTREE arama tercihini içeren bir arama filtresi kullanarak sorgulayın.
Aramayı bağlı olduğunuz kapsayıcı nesnesinin doğrudan içeriğiyle sınırlamak için ADS_SCOPE_ONELEVEL arama tercihiyle arama yapabilirsiniz.
IDirectorySearch kullanıcılardan yalnızca belirli özelliklerin değerlerini alır. Değerleri almak için IDirectorySearchkullanın. Bir aramadan döndürülen kullanıcı nesnelerini işlemek için, IAD'leri veya IADsUser yöntemlerini kullanmak istiyorsanız, bunlara açıkça bağlamanız gerekir. Bunu yapmak için, aramadan döndürülecek özelliklerden biri olarak distinguishedName belirtin ve döndürülen ayırt edici adları kullanarak aramada döndürülen her kullanıcıya bağlanın.
Yalnızca belirli özellikler alınır. Kullanıcı sınıfının tüm olası özniteliklerini açıkça belirtmeden tüm öznitelikleri alamazsınız.