我正在嘗試圍繞LINQ打包頭,因此我可以弄清楚如何查詢DirectoryEntry
。目前,我正在嘗試在C#中編寫一些代碼,該代碼將接收一個字符串變量,並根據此字符串給出一個組中的成員列表。使用DirectoryEntry獲取本地組中的所有用戶LINQ 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()
。
雖然我想知道如何正確地做到這一點,但我真的很想弄清楚這一點,因爲我還需要做其他的查詢。所以,如果有人知道任何良好的來源,找到這個信息,請讓我知道
這裏有什麼問題?什麼不起作用? –
@PaulAlanTaylor我不能使用Children.Find()是哪裏,因爲它不是布爾即如果我有東西我在哪兒childEntry.SchemaClassName ==「用戶」這將工作返回計算機中的所有用戶 –