最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
目录服务技术介绍――ADSI(六)
时间:2022-06-30 10:57:28 编辑:袖梨 来源:一聚教程网
客户程序也可以利用IADsClass、IADsProperty和IADsSyntax接口在运行时刻确定目录对象的详细属性信息。操作步骤如下:
a. 先绑定到目录对象的表结构对象,可以直接访问目录对象的“schema”属性。
b. 用枚举的办法从表结构对象中找到强制属性或者可选属性,如果客户知道要访问的属性名则可以跳过这一步。
c. 绑定到表结构对象的包容器对象。
d. 从表结构对象的包容器对象获得属性的定义对象。
e. 从属性定义对象获取属性信息,包括属性的语法信息等。
下面的代码演示了如何从获得表结构对象到访问“Owner”属性的细节信息的过程:
Dim obj As IADs
Dim cl As IADsClass
Dim pr As IADsProperty
Dim sy As IADsSyntax
Dim sc As IADsContainer
Set obj = GetObject("WinNT://MyDomain/myMachine")
Set cl = GetObject(obj.Schema)
Set sc = GetObject(cl.Parent)
Set pr = sc.GetObject("Property","Owner")
MsgBox "Attribute: " & pr.Name
MsgBox "Syntax: " & pr.Syntax
Set sy = GetObject(sc.AdsPath & "/" & pr.Syntax)
MsgBox "Syntax object: " & sy.Name & " of OleAutoDataType: " & sy.OleAutoDataType
(6) 增加或者删除目录对象。
利用包容器对象的IADsContainer接口的方法(见表4),我们可以很方便地增加或者删除目录对象,举例如下:
Dim Container as IADsContainer
Dim NewUser as IADsUser
Set Container = GetObject("WinNT://MyDomain")
' Create the new wrapper.
Set NewUser = Container.Create("user", "PanAimin")
' Write it back to the DS
NewUser.SetInfo
' Set Jane's password.
NewUser.SetPassword("123")
' Delete the user.
Call Container.Delete("user","Mary")
ADSI的各种操作比较简单,只要我们能够理解ADSI的基本结构,并且对核心的几个接口以及常用提供者的一些接口有所了解,就可以用一致的方法访问目录服务,这也说明了ADSI作为通用目录服务标准为程序员带来的最大益处。
a. 先绑定到目录对象的表结构对象,可以直接访问目录对象的“schema”属性。
b. 用枚举的办法从表结构对象中找到强制属性或者可选属性,如果客户知道要访问的属性名则可以跳过这一步。
c. 绑定到表结构对象的包容器对象。
d. 从表结构对象的包容器对象获得属性的定义对象。
e. 从属性定义对象获取属性信息,包括属性的语法信息等。
下面的代码演示了如何从获得表结构对象到访问“Owner”属性的细节信息的过程:
Dim obj As IADs
Dim cl As IADsClass
Dim pr As IADsProperty
Dim sy As IADsSyntax
Dim sc As IADsContainer
Set obj = GetObject("WinNT://MyDomain/myMachine")
Set cl = GetObject(obj.Schema)
Set sc = GetObject(cl.Parent)
Set pr = sc.GetObject("Property","Owner")
MsgBox "Attribute: " & pr.Name
MsgBox "Syntax: " & pr.Syntax
Set sy = GetObject(sc.AdsPath & "/" & pr.Syntax)
MsgBox "Syntax object: " & sy.Name & " of OleAutoDataType: " & sy.OleAutoDataType
(6) 增加或者删除目录对象。
利用包容器对象的IADsContainer接口的方法(见表4),我们可以很方便地增加或者删除目录对象,举例如下:
Dim Container as IADsContainer
Dim NewUser as IADsUser
Set Container = GetObject("WinNT://MyDomain")
' Create the new wrapper.
Set NewUser = Container.Create("user", "PanAimin")
' Write it back to the DS
NewUser.SetInfo
' Set Jane's password.
NewUser.SetPassword("123")
' Delete the user.
Call Container.Delete("user","Mary")
ADSI的各种操作比较简单,只要我们能够理解ADSI的基本结构,并且对核心的几个接口以及常用提供者的一些接口有所了解,就可以用一致的方法访问目录服务,这也说明了ADSI作为通用目录服务标准为程序员带来的最大益处。
相关文章
- 《无限暖暖》天星之羽获得位置介绍 12-20
- 《流放之路2》重铸台解锁方法介绍 12-20
- 《无限暖暖》瞄准那个亮亮的成就怎么做 12-20
- 《无限暖暖》魔气怪终结者完成方法 12-20
- 《无限暖暖》曙光毛团获得位置介绍 12-20
- 《无限暖暖》日光果获得位置介绍 12-20