- PR -

ActiveDirectoryのADSI(LDAP)について

1
投稿者投稿内容
まるこ
会議室デビュー日: 2003/11/13
投稿数: 13
投稿日時: 2005-10-02 16:51
ユーザIDとパスワードの認証は
以下のような記述(VB)でできるようですが
(実機でのテストはこれからです)

strDomain = "DC=AAAA,DC=BBBB,DC=local"
strUser = "USER"
strPass = "PASSWORD"

strPath = "LDAP://" & strDomain

Set adsLDAP = GetObject("LDAP:")
Set adsMyObject = adsLDAP.OpenDSObject
(strPath, strUser, strPass, 1)

If Err.Number <> 0 Then
  "ユーザIDまたはパスワードが間違っています"
End If

認証成功後、このユーザが所属するOUを
検索したいのですが、ユーザ数が多いため
OUからユーザを一件ずつ照合するのではなく
ユーザからOUを検索したいと考えています。

またOUが階層構造になっている場合も想定され、
できれば汎用的な仕組みにできないものかと...
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2005-10-02 17:54
1. WINNT Provider を使用して、ADsPath を取得する。
IADsUser

2. ADO を用いて取得する。
Microsoft OLE DB Provider for Microsoft Active Directory Service
まるこ
会議室デビュー日: 2003/11/13
投稿数: 13
投稿日時: 2005-10-03 12:07
ちゃっぴ様

早々のご回答ありがとうございました。

大変お恥ずかしい質問なんですが、
ユーザ、パスワードの認証が上手く行きません。

Set adsMyObject = adsLDAP.OpenDSObject
(strPath, strUser, strPass, 1)

「コンパイルエラー
 引数は省略できません。」

User、Pass当たりの構文に不備があるようですが、
思いつく限りの記述をしても上手く行きません。

具体的な記述方法を教えていただけないでしょうか?

よろしくお願いします。
まるこ
会議室デビュー日: 2003/11/13
投稿数: 13
投稿日時: 2005-10-03 18:19
ユーザIDとパスワードの認証に成功しました。
当方の記述ミスです。先程は失礼しました。

adsMyObjectはObject型で定義しました。

adsMyObjectのADsPathを参照すると

"LDAP://DC=AAAA,DC=BBBB,DC=local"

と表示されるため、IADsUser型に変換して
ADsPathを参照する手順になりますか。

またまた恥ずかしながらこの構文が書けません。
教えていただけないでしょうか。
1

スキルアップ/キャリアアップ(JOB@IT)