C#を使用してADODB経由でActiveDirectoryに接続する例を探しています。
私の目標は、ルックアップを実行して、そのユーザー属性(ユーザーID、電子メールアドレスなど)の1つに基づいて、ユーザーがActiveDirectoryで有効であることを確認できるようにすることです。
[ADODBの使用はこのための要件であり、DirectoryServicesの使用は有効な応答ではないことを強調したいと思います。]
私の現在のアプローチは機能していません(cmd.Executeビットでの例外):
object parms = null;
object recs = null;
ADODB.Connection conn = new ADODB.Connection();
ADODB.Command cmd = new ADODB.Command();
ADODB.Recordset rs = new ADODB.Recordset();
conn.Open("Provider=ADsDSOObject",obfsUser,obfsPass,0);
cmd.ActiveConnection = conn;
cmd.CommandText = "<LDAP://OU=obfsOU,DC=obfsDC,DC=corp,DC=Net>;;name;subtree";
rs = cmd.Execute(out recs, ref parms, 0);
サーバー参照を提供する必要があるかどうか/どこにあるのかわからないし、refによってcmd.Executeメソッドに渡されるパラメーターがどうあるべきか本当にわかりません。ADODBを介してC#からActiveDirectoryに接続するためのドキュメントはそれほど多くありません。
conn.Stateは1を返しているので、アクティブな接続を取得していると思います。問題は、cmd.Execute()メソッドに渡されるパラメーターにあると思います。