共用方式為


使用 ADSI 存取及處理資料

所有物件都有屬性。 所有 Active Directory 服務介面 (ADSI) COM 物件都有一或多個介面,其中包含方法,可擷取 COM 物件所代表之目錄對象的屬性。 您可以從物件讀取屬性的方式有很多種:

  • 依名稱取得特定屬性:IADs 介面有兩種方法,IADs::GetIADs::GetEx 讀取特定屬性。 每個 ADSI COM 物件都有 IAD 介面。
  • 取得指定的屬性清單:IDirectoryObject 介面具有方法 IDirectoryObject::GetObjectAttributes,可讓您指定要讀取的屬性名稱清單,並傳回包含所要求屬性值的結構數組。
  • 列舉物件上的所有屬性:IADsPropertyList 介面可讓您列舉物件上的所有屬性。
  • 取得特殊屬性:自動化介面 (IADs*) 具有屬性方法,可讓您取得未儲存在 物件中的特殊屬性。 或者,屬性方法可讓您以與儲存的實際數據類型不同的數據格式取得物件屬性。 例如,IADs 介面具有屬性方法,例如 IADs::get_Name,它會擷取對象的相對辨別名稱 (RDN):IADs::get_Class,它會擷取對象的類別,並 IADs::get_Parent,它會將 ADsPath 擷取至物件的父系。

ADSI 可讓您在從目錄伺服器讀取屬性後,將其快取到本地。 這可讓您選擇從本機屬性快取讀取屬性,或直接從目錄伺服器擷取屬性。 ADSI 也提供了更新快取的方法,並可以指定是快取物件的所有屬性,還是僅快取指定的屬性。

擷取屬性之後,您會讀取其值。 屬性的數據類型取決於 Active Directory 架構中屬性的定義(也稱為屬性)。 對於存在於 Active Directory 中的每個屬性類型,Active Directory 架構中有一個 attributeSchema 物件。 attributeSchema 物件用來定義屬性的特徵。 其中一個特性是 屬性的語法,可決定屬性值的數據類型。 如需詳細資訊,請參閱 屬性的特徵 和 Active Directory 屬性的語法

自動化介面(IADs*)會傳回屬性值,以 VARIANT 的形式,或傳回在代表該屬性的 COM 物件上的自動化介面指標。 IDirectoryObjectIDirectorySearch 介面會將屬性作為指向包含具型別屬性值或位元組字串的結構的指標傳回。 此外,IDirectoryObjectIDirectorySearch 直接從目錄伺服器擷取屬性,而不是使用本機屬性快取。

本節描述下列主題: