C#以域\用户格式获取所有ActiveDirectory用户

C#以域\用户格式获取所有ActiveDirectory用户,c#,active-directory,C#,Active Directory,这可能是一个愚蠢的问题,但我以前从未询问过Active Directory用户,而且我没有域来进行测试。因此,我必须在客户环境中测试这段代码。现在,我有这个密码 using (PrincipalContext context = new PrincipalContext(ContextType.Domain, domainName)) { using (PrincipalSearcher searcher = new PrincipalSearcher(new UserPrincipal

这可能是一个愚蠢的问题,但我以前从未询问过Active Directory用户,而且我没有域来进行测试。因此,我必须在客户环境中测试这段代码。现在,我有这个密码

using (PrincipalContext context = new PrincipalContext(ContextType.Domain, domainName))
{
    using (PrincipalSearcher searcher = new PrincipalSearcher(new UserPrincipal(context)))
    {
        foreach (Principal result in searcher.FindAll())
        {
            Console.WriteLine("Principal Data");
            Console.WriteLine("Description: " + result.Description);
            Console.WriteLine("Display Name: " + result.DisplayName);
            Console.WriteLine("Distinguished Name: " + result.DistinguishedName);
            Console.WriteLine("Name: " + result.Name);
            Console.WriteLine("SAM Account Name: " + result.SamAccountName);
            Console.WriteLine("Structural Object Class: " + result.StructuralObjectClass);
            Console.WriteLine("User Principal Name: " + result.UserPrincipalName);
            Console.WriteLine("Context Data");
            Console.WriteLine("Connected Server: " + context.ConnectedServer);
            Console.WriteLine("Container: " + context.Container);
            Console.WriteLine("Name: " + context.Name);
            Console.WriteLine("UserName: " + context.UserName); 
            Console.WriteLine();
            Console.WriteLine("------------------------------------------------------------------");
            Console.WriteLine();
        }
    }
}
但是我还没有找到以DOMAINNAME\SAMUSERNAME格式提供用户的属性。例如,如果我使用:

string.Format("{0}\\{1}", context.Name, result.SamAccountName);
我得到了类似于domainname.local\samusername的东西,但我想要这样的domainname\samusername。我知道我能行

string.Format("DOMAINNAME\\{0}", result.SamAccountName);
但我不想硬编码

我也不确定使用

string.Format("{0}\\{1}", context.Name.Split(new string[] { "." }, StringSplitOptions.None)[0].ToUpper(), result.SamAccountName);
将适用于任何场景

这是一个会员用户管理页面,用户列表将允许管理员选择,然后向用户添加会员角色。我知道我将需要添加搜索功能,但现在我正在调整尝试获得基本结果,然后添加花哨的东西

我想要的是更通用的东西,可以在任何场景中使用。如何做到这一点

希望有人能给我一些灯。提前谢谢

问候