戻ってきたmarc_sさんに感謝します。DLのメンバーをLDAPで取得するC#
私は次のコードを試してみました:、ここで
public void GetInfo()
{
try
{
//Object obj;
DirectorySearcher search;
DirectoryEntry entry;
SearchResult result;
String mailid = "";
bool flag = false;
entry = new DirectoryEntry(LDAPpath);//, Domainwithuser, password);
search = new DirectorySearcher(entry);
search.Filter = "CN=DistributionList1";
int i = search.Filter.Length;
string str = "", str1 = "";
foreach (SearchResult AdObj in search.FindAll())
{
foreach (String objName in AdObj.GetDirectoryEntry().Properties["member"])
{
str += Convert.ToString(objName) + "<Br>";
int selIndex = objName.IndexOf("CN=") + 3;
int selEnd = objName.IndexOf(",OU") - 3;
str1 += objName.Substring(selIndex, selEnd).Replace("\\", "") + "<BR>";
DirectorySearcher dsSearch = new DirectorySearcher(entry);
dsSearch.Filter = "CN=" + objName.Substring(selIndex, selEnd).Replace("\\", "");
foreach (SearchResult rs in dsSearch.FindAll())
{
str1 += "<p align='right'><font face='calibri' color='#2266aa' size=2>" + Convert.ToString(rs.GetDirectoryEntry().Properties["mail"].Value) + "|" + Convert.ToString(rs.GetDirectoryEntry().Properties["displayName"].Value) + "|" + Convert.ToString(rs.GetDirectoryEntry().Properties["sAMAccountName"].Value) + "|" + Convert.ToString(rs.GetDirectoryEntry().Properties["department"].Value) + "|" + Convert.ToString(rs.GetDirectoryEntry().Properties["memberOf"].Value) + "</font></p>";
}
}
}
Response.Write("<BR>" + str + "<Br>" + str1 + "<BR>");
}
catch (Exception ex)
{
Response.Write("--unable to fetch--<BR>" + ex.Message);
}
}
をsearch.findAll
は、私はすべての電子メールアドレスを取得するための要件を持っている構文
に無効なDN
を言って
DirectoryCOMException
をスローします配布リストに属しています。私は下のリンクでアウトに詳細なアプローチを実装してみましたが、残念ながらそれはうまくいきませんでした: https://forums.asp.net/t/1224607.aspx?Displaying+Members+in+a+Distribution+List
すべてのヘルプは大歓迎です。
ありがとうございました。
あなたは何を試しましたか?どこで止まっていますか?私たちは**助けます** ** - あなたのためのコード全体を書くだけではありません... –
こんにちはmarc_s、私は元の投稿を更新しました。 –