0

私は 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から取得することを本当に好みます(これもそこにあるはずだと私は信じがちです)。

4

3 に答える 3

1

識別名プロパティを見てください。これは、OU を含む一連の相対識別名 (RDN) です。

于 2012-10-17T13:55:43.413 に答える
0

すべてのテストの結果、このデータは LDAP に保存されていないことがわかりました。

于 2012-10-22T00:57:35.770 に答える