ユーザーが新しいユーザーをリクエストすると実行されるスクリプトがあります。C#ASP.NET - アクティブなユーザーと中断されたユーザーを検索する
このスクリプトでは、ユーザーから提供されたユーザー名が使用され、ADが存在するかどうかを調べます。これは絶対にうまくいきますが、私たちのIT部門は期限切れのアカウントを持っています。これにより、アカウントは、退職したスタッフの別のOUに移動されるまで、無効ではなく、何らかの種類の「一時停止」状態になります。
C#AD検索では、これらの中断されたアカウントを無視しています。
誰もがこの問題に遭遇しましたか?あるいは、検索にこれらのユーザーを対応させる方法について誰かが手掛かりを持っていますか?
public static string ADSearch(string ADPart, string Alias)
{
System.DirectoryServices.DirectoryEntry dirEntry = default(System.DirectoryServices.DirectoryEntry);
System.DirectoryServices.DirectorySearcher dirSearcher = default(System.DirectoryServices.DirectorySearcher);
try
{
dirEntry = new System.DirectoryServices.DirectoryEntry("LDAP://LDAP DETAILS HERE");
dirSearcher = new System.DirectoryServices.DirectorySearcher(dirEntry);
dirSearcher.Filter = "(samaccountname=" + Alias + ")";
dirSearcher.PropertiesToLoad.Add("GivenName");
//Users first name
dirSearcher.PropertiesToLoad.Add("sn");
//Users last name
dirSearcher.PropertiesToLoad.Add("mail");
//Users e-mail
dirSearcher.PropertiesToLoad.Add("samaccountname");
//Samaccount
StringBuilder groupNames = new StringBuilder(); //stuff them in | delimited
SearchResult sr = dirSearcher.FindOne();
//return false if user isn't found
if (sr != null)
if (ADPart == "GivenName")
return sr.Properties["GivenName"][0].ToString().Replace("'", "");
else if (ADPart == "sn")
return sr.Properties["sn"][0].ToString().Replace("'", "");
else if (ADPart == "mail")
return sr.Properties["mail"][0].ToString().Replace("'", "");
else if (ADPart == "alias")
return sr.Properties["samaccountname"][0].ToString().Replace("'", "");
else
return null;
else
return null;
// return false if exception occurs
}
catch (Exception ex)
{
return ex.Message;
}
}
私はこのコードを書いていないことに気付くかもしれませんが、それは既に存在していました。
ご迷惑をおかけして申し訳ありません。
こんにちはGabriel、ありがとうございました。あなたは確かにあなたが話していることを知っている。残念ながら、これはクエリに期限切れのアカウントがまったく表示されないため、私のニーズに合わないため、カウントできません。再度、感謝します! –
この特定の検索は、「(samaccountname = "+ Alias +")」に基づいて、一度に1つのアカウントのみを検索しています。だから、このメソッドにアカウント名を与えるのは何ですか? –
管理者がユーザー名を入力できるテキストボックスがあります。彼らが入力したものはすべて検索に使用されます。 –