以编程方式从AD LDS获取所有角色

时间:2012-11-08 11:20:41

标签: .net active-directory adlds

我正在寻找有关如何以编程方式连接到AD LDS的一些指导。我正在尝试使用C#程序检索所有AD LDS角色。

任何关于从哪里开始的提示都将非常感激。

1 个答案:

答案 0 :(得分:3)

According to this,AD LDS角色是驻留在LDS实例的CN=Roles容器中的AD组 - 对吗?

使用System.DirectoryServices.AccountManagement(S.DS.AM)命名空间中的类,您可以非常轻松地获取这些组:

// set up the "ApplicationDirectory" context and use the "CN=Roles" container
PrincipalContext ctx = new PrincipalContext(ContextType.ApplicationDirectory, "ldsserver:389", "CN=Roles,DC=YourCompany,DC=com");

// set up a "QBE" group principal
GroupPrincipal qbeGroup = new GroupPrincipal(ctx);

// create your principal searcher passing in the QBE principal    
PrincipalSearcher srch = new PrincipalSearcher(qbeGroup);

// find all matches
foreach(var found in srch.FindAll())
{
    // do whatever here - "found" should be "GroupPrincipal" types only
}

在此处阅读有关System.DirectoryServices.AccountManagement(S.DS.AM)命名空间的所有内容:

新的S.DS.AM使得在AD(和AD LDS)中使用用户和群组变得非常容易!