如题,不知道怎么解决,上午问了微软,给个VB的方案,没有整明白,请大家帮忙看看!!
Dim strQuery
Dim strUserDN
Dim strDomainDN
Dim oUser
strUserDN = "OU=UserAccounts,DC=fareast,DC=corp,DC=microsoft,DC=com"
' ================================
' Get the users who has a mailbox
' ================================Set oConnection = CreateObject("ADODB.Connection")
Set oRootDSE = GetObject("LDAP://RootDSE")
Set oCommand = CreateObject("ADODB.Command")
varDomainNC = oRootDSE.Get("DefaultNamingContext")
oConnection.Provider = "ADsDSOObject"
oConnection.Open "ADs Provider"strQuery = "<LDAP://" & strUserDN & ">;(&(objectClass=user)(mail=*));adspath,cn;subtree"oCommand.ActiveConnection = oConnection
oCommand.CommandText = strQuerySet RS = oCommand.Execute
while not RS.EOF
Set objUser = GetObject(RS.Fields("adspath"))
WScript.echo objuser.EmailAddress
RS.MoveNext
Wend
Dim strQuery
Dim strUserDN
Dim strDomainDN
Dim oUser
strUserDN = "OU=UserAccounts,DC=fareast,DC=corp,DC=microsoft,DC=com"
' ================================
' Get the users who has a mailbox
' ================================Set oConnection = CreateObject("ADODB.Connection")
Set oRootDSE = GetObject("LDAP://RootDSE")
Set oCommand = CreateObject("ADODB.Command")
varDomainNC = oRootDSE.Get("DefaultNamingContext")
oConnection.Provider = "ADsDSOObject"
oConnection.Open "ADs Provider"strQuery = "<LDAP://" & strUserDN & ">;(&(objectClass=user)(mail=*));adspath,cn;subtree"oCommand.ActiveConnection = oConnection
oCommand.CommandText = strQuerySet RS = oCommand.Execute
while not RS.EOF
Set objUser = GetObject(RS.Fields("adspath"))
WScript.echo objuser.EmailAddress
RS.MoveNext
Wend
现在的做法是将通讯簿导入数据库中读取,但是这样要人为的去同步更新.
真的没有人会直接读Exchange Server的通讯簿内容吗?
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wss/wss/_exch2k_using_ado_objects.asp是Exchange2000SDK里面的,提到如何用ADO(ASP中)打开Exchange的数据库。你可以看看Exchange2003SDK,里面应该有类似资料的。