none
LDAP検索時、エラー「操作エラーが発生しました」が発生 RRS feed

  • 質問

  • いつもお世話になっております。

    「UserName」により、LDAP検索からメールアドレスを取得するときに、エラー「操作エラーが発生しました」が発生しました。

    自分の環境でちゃんといきますが、お客さんの環境になるとうまくいきません。

    ソースは以下です。

      Public Shared Function GetADUserMail(ByVal strLDAPPath As String, ByVal strUserName As String) As String
    
        Dim strMail As String = ""
    
        'Active Directory 階層のオブジェクト(対象ドメインユーザー)をカプセル化する
        Dim entry As New DirectoryEntry(strLDAPPath)
    
        Dim ds As DirectorySearcher = New DirectorySearcher(entry)
    
        'Active Directory 階層のオブジェクトのこどもが「User」かどうかを判断する
        ds.Filter = String.Format("(&(objectCategory=person)(objectClass=user)(samaccountname={0}))", strUserName)
        Dim sr As DirectoryServices.SearchResult = ds.FindOne()
    
        If sr IsNot Nothing Then
          Try
            strMail = sr.Properties("Mail")(0)
          Catch ex As Exception
          End Try
        End If
    
        'データテーブルをデータビューに変換し、戻す
        Return strMail
    
      End Function
    
    2011年3月1日 9:59

回答

すべての返信

  • アプリサーバー:Windows Server 2003 R2 Sp1

    認証方法:Windows認証

     

    調べたところでエラーに関する説明が以下になります。

    エラー:LDAP_OPERATIONS_ERROR(操作エラーが発生しました。)

    http://technet.microsoft.com/ja-jp/library/cc751317.aspx#ID0EC5BG

    エラー説明:LDAP ライブラリの初期化に失敗しました。

    http://support.microsoft.com/kb/218185/ja

     

    エラーの説明を見ると、アプリサーバー環境設定の問題でしょうか

     

    2011年3月2日 2:08
  • こんにちは、q_博_p さん。

    MSDN フォーラムのご利用ありがとうございます。オペレーターの山本です。

    #的外れな内容だったらごめんなさい。
    エラーとなる箇所や、エラーとなる環境と問題なく動作する環境の違いが判らないのですが、Active Directory への接続ということであれば、まずは、ツールを使用するなどして問題が発生している環境では Active Directory へのアクセスが可能であるかといった問題の切り分けから行ってみてはいかがでしょうか。

    検索してみたところ、以下のようなツールもあります。

      Using Ldp.exe to Find Data in the Active Directory
      http://support.microsoft.com/kb/224543

    使用方法についての記事がありましたので、ご参考まで。

      Ldp.exe を使用してディレクトリ ツリーを参照する
      http://technet.microsoft.com/ja-jp/library/cc775942(WS.10).aspx

      [ADSI プログラミング] Active Directory - ご機嫌ななめの要因は?
      http://blogs.technet.com/b/jpilmblg/archive/2009/03/08/adsi-programming-_2d00_-_48ff4fff57ff54ff4fff_-_3a00_-papa090308.aspx

      [ADSI プログラミング] Active Directory – LDP.EXE ツールを使ってみよう !
      http://blogs.technet.com/b/jpilmblg/archive/2009/03/10/adsi-programming-_2d00_-_48ff4fff57ff54ff4fff_-_3a00_-papa090310.aspx

    なお、Active Directory への接続に関する問題 (API の使い方などプログラミングについての問題は MSDN フォーラムでいいと思います。) については、TechNet フォーラムに Active Directory のカテゴリもあるので、そちらもご利用されるといいかもしれません。
    よろしくお願いいたします。

      TechNet フォーラム - Windows Saerver - Active Directory カテゴリ
      http://social.technet.microsoft.com/Forums/ja-jp/activedirectoryja/threads
                                                                            
    日本マイクロソフト株式会社 フォーラム オペレーター 山本 春海

    2011年3月7日 8:16
  • こんにちは、フォーラムオペレーターの三沢健二です。

    q_博_p さん、その後いかがでしょうか?

    少し状況などで不明点がありましたが、弊社 山本 の案内した情報はトラブルシューティングを行う際に参考になる情報ではと思いましたので、勝手ながら [回答としてマーク] を付けさせていただきました。

    環境が異なるとスキーマの構成などが異なる場合もありますので、まずは、ご自身である程度の切り分けを行っていただき、どうしても解決出来ない場合は、試された内容やその結果、環境について詳細にお知らせいただければと思います。

    ______________________________________
    日本マイクロソフト株式会社 フォーラム オペレーター 三沢健二

    2011年3月23日 7:43
    モデレータ