IDを持つリストなどを使用して、広告から情報を取得する必要があります。次のコードは値をリストし、それに接続されているもの(名前、メール、組織など)を書き留めて別のリストに保存する必要があります。ここ は、私がこれまでに書かれたものです:ID(Active Directoryからの名前などなど)の値をリストに渡し、別のリスト(C#)に保存するにはどうすればよいですか?
static void Main(string[] args)
{
PrincipalContext domainContext = new PrincipalContext(ContextType.Domain, null);
UserPrincipal user = new UserPrincipal(domainContext);
List<string>id = new List<string>();
id.Add("someid");
id.Add("someid");
id.Add("someid");
user.Name = id[2];
Console.ReadLine();
PrincipalSearcher pS = new PrincipalSearcher();
pS.QueryFilter = user;
PrincipalSearchResult<Principal> results = pS.FindAll();
Principal pc = results.ToList()[0];
DirectoryEntry de = (DirectoryEntry)pc.GetUnderlyingObject();
var userData = new Data();
userData.ID = de.Properties["samAccountName"].Value.ToString();
userData.name = de.Properties["givenName"].Value.ToString();
userData.lastName = de.Properties["sn"].Value.ToString();
userData.mail = de.Properties["mail"].Value.ToString();
userData.organization = de.Properties["extensionAttribute2"].Value.ToString();
List<Data> d = new List<Data>();
d.Add(userData);
とクラスデータ:
public class Data
{
public string name { get; set; }
public string lastName { get; set; }
public string mail { get; set; }
public string ID { get; set; }
public string organization { get; set; }
//public Data() { }
}
}
私は本当に解決策を考え出すことができない - の値を渡す方法と、それらを保存します。
既存のコードは、Active Directoryから必要なものを得るために機能しますか?あなたが別のリストに合格すると、それはすでにあなたのList of Dataオブジェクトで行っているようです。どこに値を渡す必要がありますか? –
ADから実際にデータを読み込めますか?はいの場合は、正確にどこにデータを保存しようとしていますか? AD自体または何を更新しようとしていますか? – uTeisT
こんにちは、コードは1つのID(userName = "idnumber"と書かれた場合はexmple、foreachループの場合は正しく動作します)。問題は、リスト内の3つまたは4つのIDについて同じことを行う方法がわからないことです。結局、値は別のリスト(私の例ではd)に渡され、保存されなければなりません。 – Kuba