我正在查询AD并从特定组中获取所有用户。我现在还需要获得这些组中的所有联系人,但我找不到联系人。
我的AD连接:
AD = new PrincipalContext(ContextType.Domain, ConfigurationManager.AppSettings["ADPath"], ConfigurationManager.AppSettings["ADServiceAccount"], ConfigurationManager.AppSettings["ADServiceAccountPassword"]);
获取群组中的所有用户:
GroupPrincipal group = GroupPrincipal.FindByIdentity(Global.AD,((grpname.Length > 0)? grpname: "NY Directory Group"));
foreach (Principal princ in @group.Members)//.Where(princ => princ.StructuralObjectClass == "user"))
最初我有过princ.StructuralObjectClass的过滤器,我删除它以包含“user”以外的对象,但我仍然只是获得用户。
有什么想法吗?
由于
答案 0 :(得分:0)
据我所知,System.DirectoryServices.AccountManagement命名空间提供了对AD,LDS等多个主要商店的用户,计算机和组安全主体的统一访问和操作。
由于联系人不是安全主体,您可能应该使用System.DirectoryServices命名空间来处理所有非安全对象。