0

我正在使用此代码过滤我的活动目录域的组:

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"/>
4

1 回答 1

0

SQL Server 创建的组仅是您计算机上的本地组 - 它们不在 Active Directory 中。您需要在当地商店中搜索这些。打开本地用户和组以查看这些对象。

于 2014-04-11T21:23:52.883 回答