Как бы я назначил только DisplayName и Name из PrincipalSearcher в список?
У меня есть следующий пример кода:
namespace DirectorySearcher
{
class Program
{
static void Main(string[] args)
{
using (var context = new PrincipalContext(ContextType.Domain, "bobo.net"))
{
using (var searcher = new PrincipalSearcher(new UserPrincipal(context) { Enabled = true }))
{
List<Principal> results = new List<Principal>();
results.AddRange(searcher.FindAll());
//foreach (var result in searcher.FindAll())
//{
//Console.WriteLine("displayName : " + result.DisplayName);
//Console.WriteLine("name : " + result.Name);
//Console.WriteLine();
//}
}
}
Console.WriteLine("Done");
Console.ReadLine();
}
}
}
Как бы я назначить только результат.DisaplayName и result.Name в списке результатов?
вы можете настроить PrincipalSearcher так, чтобы он извлекал только эти два значения, чтобы начать с
как вы можете сделать с PowerShell, т.е.
Get-ADUser -Properties DisplayName,Name
Спасибо
1 ответ
Решение
var list = searcher.FindAll().Select(s => new {name = s.Name, displayName = s.DisplayName});
Выше создается список анонимных объектов, который содержит имя и отображаемое имя. Вы могли бы создать класс Poco для хранения имени и отображаемого имени
Для ограничения свойств ответа посмотрите на этот вопрос