- PR -

ADSI :LDAPプロバイダでアクセスできない。

1
投稿者投稿内容
masa
会議室デビュー日: 2003/09/02
投稿数: 8
お住まい・勤務地: 東京
投稿日時: 2003-10-12 13:41
こんにちは。

ADSIでActive Directoryに登録している情報を取得したいと考えています。
情報取得には、以下のようなVBScriptで、WindowsXPマシンからアクセスしています。
環境は、Windows 2000 Serverで混在モードです。

---------------------------------------
Dim adsPath
Dim adsUser
strPath = "WinNT://<Domain1.Domain2>/<Group>/<User>"   '(*1)WinNT
'strPath = "LDAP://cn=<User>,cn=<Group>,dc=<Domain1>,dc=<Domain2>" '(*2)LDAP
Set adsUser = GetObject(strPath)

MsgBox adsUser.Description
Set adsUser = Nothing
---------------------------------------

上記のようにWinNTプロバイダではアクセス可能なのですが、(*1)をコメントし、(*2)のコメントをはずす(LDAPプロバイダを使用)と、「サーバーは使用可能ではありません」とのエラーが出てアクセスできません。

混在モードでは、LDAPプロバイダは使用不可なのでしょうか。
エラーの原因がお分かりの方、ご教授よろしくお願いします。
なな
ぬし
会議室デビュー日: 2003/06/22
投稿数: 659
お住まい・勤務地: 愛知県
投稿日時: 2003-10-14 08:24
strPath = "LDAP://cn=<User>,ou=<Group>,dc=<Domain1>,dc=<Domain2>" 
では、いかがでしょうか?
masa
会議室デビュー日: 2003/09/02
投稿数: 8
お住まい・勤務地: 東京
投稿日時: 2003-10-14 15:55
返信ありがとうございます。

> strPath = "LDAP://cn=<User>,ou=<Group>,dc=<Domain1>,dc=<Domain2>"
で試してみたのですが、やはりうまくいきませんでした。

そこで VB.NETを使用し、Directory ServiesのDirectorySearcherクラスにより、
ユーザーを検索し、パスを取得してみました。
【検索プログラム】
  Dim entry As New DirectoryServices.DirectoryEntry(l_LdapPath)
  Dim mySearcher As New System.DirectoryServices.DirectorySearcher(entry)
  mySearcher.Filter = ("(&(objectClass=user)(Name="<User>"))")
  
  For Each result In mySearcher.FindAll()
    l_ret = result.GetDirectoryEntry().Path
Exit For
Next
【取得したパス】
  LDAP://<Domain1>/CN=<User>,CN=Users,DC=<Domain1>,DC=<Domain2>

ここで取得したパスを使用すると、アクセスすることが出来ました。

-----------------------------
しかし、まだ問題があります。
上記のパスは、検索プログラムで検索した後しかアクセスできないのです。

LDAP://<Domain1>/CN=<User>,CN=Users,DC=<Domain1>,DC=<Domain2>を
検索する前に使用すると、やはり「サーバーは使用可能ではありません」とのエラーが出てしまいます。

現状では必ず検索をしてアクセスするようにしているので大きな問題ではありませんが、原因を知りたいです。

ご教授よろしくお願いします。
なな
ぬし
会議室デビュー日: 2003/06/22
投稿数: 659
お住まい・勤務地: 愛知県
投稿日時: 2003-10-14 17:11
>> strPath = "LDAP://cn=<User>,ou=<Group>,dc=<Domain1>,dc=<Domain2>"
> で試してみたのですが、やはりうまくいきませんでした。

失礼いたしました。m(__)m

> LDAP://<Domain1>/CN=<User>,CN=Users,DC=<Domain1>,DC=<Domain2>

LDAP://<Domain1>.<Domain2>/CN=<User>,CN=Users,DC=<Domain1>,DC=<Domain2>
では、いかがでしょうか?

また、VB6でも同様の症状になるか確認することはできませんか?
masa
会議室デビュー日: 2003/09/02
投稿数: 8
お住まい・勤務地: 東京
投稿日時: 2003-10-15 12:47
ななさん、返信ありがとうございます。

>LDAP://<Domain1>.<Domain2>/CN=<User>,CN=Users,DC=<Domain1>,DC=<Domain2>
>では、いかがでしょうか?

ダメでした。「サーバーは使用可能ではありません」と表示されます。
以下のように、Administratorでもアクセスできませんでした。
LDAP://<Domain1>.<Domain2>/CN=Administrator,CN=Users,DC=<Domain1>,DC=<Domain2>

>また、VB6でも同様の症状になるか確認することはできませんか?

VB6でも試しましたが、上記と同様の症状でした。
なな
ぬし
会議室デビュー日: 2003/06/22
投稿数: 659
お住まい・勤務地: 愛知県
投稿日時: 2003-10-15 13:03
わたしのサイトでも、VBScriptで試しましたがエラーになりませんでした。

LDAP://<Domain1>.<Domain2>/CN=Users,DC=<Domain1>,DC=<Domain2>
LDAP://<Domain1>.<Domain2>/CN=Administrator,CN=Users,DC=<Domain1>,DC=<Domain2>
LDAP://<Domain1>.<Domain2>/CN=OrgUser,OU=OrgOU,DC=<Domain1>,DC=<Domain2>

残念ながら...わかりません。
1

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