AD的查询:
1,简单查询列举(如容器中的组对象)用 IADsContainer.Filter属性.
dim strLDAP as string
Dim ad As IADs
Dim adg As IADsContainer
Set ad = GetObject("LDAP://rootdse")
strLDAP = "LDAP://" & ad.Get("dnshostname") & "/" & ad.Get("defaultnamingcontext")
set adg=getobject(strldap)
adg.filter=Array("group")
'列出所有组
2,返回具体属性--复杂查询
Dim cate As IADs
Dim rst As ADODB.Recordset
Dim rst1 As ADODB.Recordset
Dim cmd As ADODB.Command
Dim cnn As ADODB.Connection
Dim strADserver As String
Dim sql As String
Set cate = GetObject("LDAP://RootDSE")
strADserver = "LDAP://" & cate.Get("dnshostname")
Set cnn = New Connection
With cnn
.Provider = "adsDSOobject"
.Open strADserver
End With
sql = "select cn,adspath,name,distinguishedName from '" & strADserver
sql = sql & "' where objectcategory='" & categorystr '(group,person...)
sql = sql & "' and mailnickName=" & Desc '(* or groupname,username...祥见Platform SDK)
Set cmd = New Command
With cmd
.ActiveConnection = cnn
.CommandText = sql
End With
Set rst = cmd.Execute
do while not rst.eof()......