Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Na rozdíl od domén systému Windows NT 4.0 lze uživatele systému Windows 2000 umístit do libovolného kontejneru nebo organizační jednotky (OU) v doméně i kořenovém adresáři domény. To znamená, že uživatelé můžou být v mnoha umístěních v hierarchii adresářů. Proto máte dvě možnosti pro vytvoření výčtu uživatelů:
Vytvořte výčet uživatelů přímo obsažených v kontejneru, organizační jednotce nebo v kořenovém adresáři domény:
Explicitně vytvořte vazbu k objektu kontejneru, který obsahuje uživatele, které vás zajímají, nastavte filtr obsahující "user" jako třídu pomocí vlastnosti IADsContainer.Filter a použijte metodu IADsContainer::get__NewEnum k vytvoření výčtu objektů uživatele.
Tuto techniku lze použít k vytvoření výčtu uživatelů, kteří jsou přímo obsaženi v kontejneru nebo objektu organizační jednotky. Pokud kontejner obsahuje další kontejnery, které mohou potenciálně obsahovat jiné uživatele, musíte s těmito kontejnery vytvořit vazbu a rekurzivně vytvořit výčet uživatelů v těchto kontejnerech. Pokud není nutné manipulovat s uživatelskými objekty a potřebujete jen číst konkrétní vlastnosti, použijte hloubkové vyhledávání popsané v možnosti 2.
Jelikož výčet vrací ukazatele na ADSI COM objekty reprezentující jednotlivé uživatelské objekty, můžete zavolat QueryInterface, abyste získali ukazatele rozhraní na uživatelský objekt: IADs, IADsUsera IADsPropertyList. To znamená, že můžete získat ukazatele rozhraní na každý výčtový objekt uživatele v kontejneru, aniž byste museli explicitně svázat jednotlivé objekty uživatele. Pokud chcete provádět operace se všemi uživateli přímo v kontejneru, vyčíslení vám umožní se vyhnout nutnosti připojit se ke každému uživateli, aby bylo možné volat IADs nebo IADsUser metodu. Pokud chcete načíst konkrétní vlastnosti od uživatelů, použijte IDirectorySearch, jak je popsáno v možnosti 2.
Proveďte hloubkové vyhledávání (&(objectClass=user)(objectCategory=person)) a najděte všechny uživatele ve stromu:
Nejprve vytvořte vazbu k objektu kontejneru, kde má začít hledání. Pokud například chcete najít všechny uživatele v doméně, připojte se ke kořeni domény; pokud chcete najít všechny uživatele v doménové struktuře, připojte se ke globálnímu katalogu a vyhledejte z kořenového adresáře GC.
Potom použijte IDirectorySearch k vyhledání pomocí vyhledávacího filtru obsahujícího (&(objectClass=user)(objectCategory=person)) a s předvolbou hledání ADS_SCOPE_SUBTREE.
Vyhledávání můžete provést s předvolbou hledání ADS_SCOPE_ONELEVEL omezit vyhledávání na přímý obsah objektu kontejneru, ke kterému jste vázáni.
IDirectorySearch načte pouze hodnoty konkrétních vlastností od uživatelů. K načtení hodnot použijte IDirectorySearch . Chcete-li manipulovat s uživatelskými objekty, které jsou vráceny z vyhledávání, to znamená, že chcete použít metody jako IADs nebo IADsUser, musíte k nim explicitně připojit vazbu. Chcete-li to provést, zadejte distinguishedName jako jednu z vlastností, které se mají vrátit z hledání, a použijte vrácené rozlišující názvy k připojení ke každému uživateli vrácenému ve vyhledávání.
Načtou se jenom konkrétní vlastnosti. Nelze načíst všechny atributy bez explicitního zadání všech možných atributů třídy uživatele.