0

我有以下示例代码:

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();
    }
  }
}

如何仅将 result.DisaplayName 和 result.Name 分配给结果列表?

您可以将 PrincipalSearcher 配置为仅拉回这两个值以开始

就像您可以使用 PowerShell 一样,即:

 Get-ADUser -Properties DisplayName,Name

谢谢

4

1 回答 1

0
var list = searcher.FindAll().Select(s => new {name = s.Name, displayName = s.DisplayName});

上面创建了一个匿名对象列表,其中包含名称和显示名称。您可以创建一个 poco 类来保存名称和显示名称

要限制响应的属性,请查看此问题

于 2015-10-12T12:57:54.747 回答