我正在使用 Access 2003,并且已经有一个从 LDAP 中提取大量数据的代码。这是我得到的:
Set rootDSE = GetObject("LDAP://RootDSE")
domainContainer = rootDSE.Get("defaultNamingContext")
conn.provider = "ADSDSOObject"
conn.Open "ADs Provider"
ldapStr = "<LDAP://" & domainContainer & ">;(& (mailnickname=" & nickname & ") (| (&(objectCategory=person)(objectClass=user)(!(homeMDB=*))(!(msExchHomeServerName=*)))(&(objectCategory=person)(objectClass=user)(|(homeMDB=*)(msExchHomeServerName=*))) ));adspath;subtree"
exchangeRS.Open ldapStr, conn, adOpenStatic, adLockReadOnly
exchangeRS.MoveFirst
Do Until exchangeRS.EOF
Set oUser = GetObject(exchangeRS.fields(0).value)
' The properties below are working
'oUser.firstName
'oUser.displayName
'oUser.title
'oUser.telephoneNumber
'oUser.mobile
'oUser.faxNumber
'oUser.streetAddress
'oUser.l
'oUser.postalCode
'oUser.mail
Next
我能够为 LDAP 数据库中的每个人获取大量信息。但是,我也想得到结构单元。但是,oUser.organizationUnit
不退出,oUser.OU
只包含顶部单元,这不是我想要的。
有没有办法列出 oUser 的所有属性以找到正确的?是不是ldapStr
缺少了什么?
这是我想要得到的图像(对不起,它是法语):
这有可能没有存储在 LDAP 中吗?如果没有,有什么方法可以从 Outlook 通讯录中获取?但实际上我真的更喜欢从 LDAP 获取它,因为其他所有信息实际上都在那里(这让我相信这也应该在那里)。