[英]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);
}
}
}
}
}
如果我在不属于这些域之一的计算机上运行该代码,该如何调整我的代码以列出来自两个域的用户?
您有两种选择。
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.