トップ回答者
LDAP検索時、エラー「操作エラーが発生しました」が発生

質問
-
いつもお世話になっております。
「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
回答
-
こんにちは、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
日本マイクロソフト株式会社 フォーラム オペレーター 山本 春海- 回答としてマーク 三沢健二Moderator 2011年3月23日 7:41
すべての返信
-
アプリサーバー: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
エラーの説明を見ると、アプリサーバー環境設定の問題でしょうか
-
こんにちは、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
日本マイクロソフト株式会社 フォーラム オペレーター 山本 春海- 回答としてマーク 三沢健二Moderator 2011年3月23日 7:41
-
こんにちは、フォーラムオペレーターの三沢健二です。
q_博_p さん、その後いかがでしょうか?
少し状況などで不明点がありましたが、弊社 山本 の案内した情報はトラブルシューティングを行う際に参考になる情報ではと思いましたので、勝手ながら [回答としてマーク] を付けさせていただきました。
環境が異なるとスキーマの構成などが異なる場合もありますので、まずは、ご自身である程度の切り分けを行っていただき、どうしても解決出来ない場合は、試された内容やその結果、環境について詳細にお知らせいただければと思います。
______________________________________
日本マイクロソフト株式会社 フォーラム オペレーター 三沢健二