DSI : LDAPのreferral内の値かサーバ名は取れないでしょうか?


taka  2004-11-26 18:07:22  No: 86935  IP: [192.*.*.*]

LDAPにて、referralの設定をしています。
(サーバ名[192.168.1.1:389]からサーバ名[192.168.1.2:389])
ADSIにて、参照先の値[abcの値]、もしくはサーバ名[192.168.1.2:389]を
取得する事は可能でしょうか?

VBのソースは、以下のようになっています。

    Dim DSO As IADsOpenDSObject
    Dim IAD As IADsContainer
    Dim OPT As IADsObjectOptions

    URL="LDAP://192.168.1.1:389/xxx=xxx,o=xxx.xxx.xxx"

    Set DSO = GetObject("LDAP:")
    Set IAD = DSO.OpenDSObject(URL, "uid", "pwd", 0)
    Set OPT = IAD
    OPT.SetOption ADS_OPTION_REFERRALS, ADS_CHASE_REFERRALS_EXTERNAL    ' ? referralを参照する

    Debug.Print IAD.ADsPath     '  -> LDAP://192.168.1.1:389/xxx=xxx,o=xxx.xxx.xxx
    Debug.Print IAD.get("abc")    '  -> エラー発生

LDAPサーバのログは、以下のようになっています。

    SRCH base="xxx=xxx,o=xxx.xxx.xxx" scope=0 filter="(objectClass=*)" attrs="objectClass"
    RESULT err=10 tag=101 nentries=0 etime=0

パケットモニタしてみると、referralにてサーバ名の[192.168.1.2:389]が取得され、
その後[192.168.1.2:389]と通信しているように見受けられます。

編集 削除