繁体   English   中英

如何列出从非域计算机运行代码的所有域中的用户?

[英]How to list users in all domains running code from a non-domain computer?

我有两个相互信任的域。 由于配置的信任,我在这些域之一中有一个Active Directory帐户,而在另一个域中也具有权限。 在我的应用程序中,我需要访问两个域并列出其中的用户。

我的开发计算机不在上述域中,因此无法将其添加到这些域中。 目前,我正在使用以下代码列出创建帐户的域上的用户:

using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, "192.168.2.11", “Login1”, “pass1”))
{
    using (UserPrincipal searchPrincipal = new UserPrincipal(pc))
    {
         searchPrincipal.Name = "*";
         using (PrincipalSearcher searcher = new PrincipalSearcher(searchPrincipal))
         {

                using (PrincipalSearchResult<Principal> principals = searcher.FindAll())
                {
                     foreach (UserPrincipal principal in principals)
                      {
                          Console.WriteLine(principal.Name);
                      }
                }
         }
    }
}

如果我在不属于这些域之一的计算机上运行该代码,该如何调整我的代码以列出来自两个域的用户?

您有两种选择。

  1. 如果两个域都在同一林中,则可以通过将域IP更改为全局编录IP来查询全局编录。

C#-在多个Active Directory域中搜索用户

  1. 继续您的硬编码方法,您可以创建一系列域IP。 遍历数组,并为数组中的每个代码调用代码。

string []域=新的string [] {“ 192.168.2.11”,“ 192.168.2.12”};

        for(int i = 0; i < domains.Length; i++)
        {
            using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, domains[i], “Login1”, “pass1”))
            {
                using (UserPrincipal searchPrincipal = new UserPrincipal(pc))
                {
                     searchPrincipal.Name = "*";
                     using (PrincipalSearcher searcher = new PrincipalSearcher(searchPrincipal))
                     {

                            using (PrincipalSearchResult<Principal> principals = searcher.FindAll())
                            {
                                 foreach (UserPrincipal principal in principals)
                                  {
                                      Console.WriteLine(principal.Name);
                                  }
                            }
                     }
                }
            }
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM