ADSIプロバイダーを使用してC#クライアントからADAMインスタンスにバインドしています。バインドが失敗すると、失敗を示す一般的なエラー状態が返されます。トラフィックのネットワークトレースを見ると、ADAMインスタンス自体が、この認証が失敗した理由を示す拡張エラー情報をクライアントに送り返していることがわかりますが、ADSIプロバイダーはこの拡張情報を破棄し、事実を提供しているようです。バインドが失敗したこと。
たとえば、バインドに失敗すると、常に値8007052Eを含むErrorCode属性を指定してCOMExceptionがスローされます。ネットワークトレースを見ると、LDAPが返送する失敗には複数の理由があり、パスワードの有効期限、アカウントの無効化、パスワードの無効、ユーザーが存在しないなどのエラーが含まれる可能性があります。
ADSIまたはCOMExceptionオブジェクトを使用してこの拡張エラー情報を取得する方法はありますか?そうでない場合、この情報を取得できる誰かが使用した他の.NETプロバイダーはありますか?