LINQに頭を悩ませようとしているので、クエリを実行する方法を理解できますDirectoryEntry
。現時点では、文字列変数を受け取り、この文字列に基づいてグループ内のメンバーのリストを提供するコードをC#で記述しようとしています。
以下は私がこれまでに理解できたことです
public static string[] GetAllUsersInGroup(string groupname)
{
var names = new List<string>();
var path = string.Format("WinNT://{0},computer", Environment.MachineName);
var computerEntry = new DirectoryEntry(path);
if (computerEntry != null)
{
using (computerEntry)
{
var menberNames = from DirectoryEntry childEntry
in computerEntry.Children.Find("testgroup", "group")
where childEntry.SchemaClassName == "User"
select childEntry.Name;
foreach (var name in memberNames)
{
names.Add(name);
}
}
}
return names.ToArray();
}
Children.Find()
これの問題は、whereステートメントで使用できないことです。
これを正しく行う方法を知りたいのですが、他にも必要なクエリがあるので、これを理解できるようにしたいと思っています。したがって、誰かがこの情報を見つけるための良い情報源を知っているなら、私に知らせてください