我正在使用此代码过滤我的活动目录域的组:
List<Department> result = new List<Department>();
using (PrincipalContext ctx = getContext())
{
GroupPrincipal gp = new GroupPrincipal(ctx);
PrincipalSearcher search = new PrincipalSearcher(gp);
result = (from g in search.FindAll()
where !g.DistinguishedName.Contains("CN=Builtin")
select new Department()
{
name = g.Name,
description = g.Description
}).ToList();
}
return result;
如您所见,我已经过滤了系统包含的那些,内置的。但是系统还有一些其他的,比如由 SQL Server 创建的。我需要知道是否有办法只显示由服务器管理员创建的那些。有没有办法做到这一点?
这是我的 getContext 代码:
public PrincipalContext getContext()
{
return new PrincipalContext(ContextType.Domain, WebConfigurationManager.AppSettings["SERVER"].ToString(), WebConfigurationManager.AppSettings["DOMAIN"].ToString() + @"\" + WebConfigurationManager.AppSettings["USER"].ToString(), WebConfigurationManager.AppSettings["PASSWORD"].ToString());
}
服务器上的值是这些:
<add key="SERVER" value="192.168.1.2"/>
<add key="DOMAIN" value="intra"/>
<add key="USER" value="xxxxx"/>
<add key="PASSWORD" value="xxxxxxx"/>