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]と通信しているように見受けられます。