我想知道是否有一种从Active Directory查询信息的快捷方法。
具体来说,我正在尝试查询当前用户的“成员”组,这些组以给定的字符串开头,例如“abc-”。
如果有人可以帮助我,我会非常感激。
答案 0 :(得分:2)
Linq to ActiveDirectory是您可以考虑的选项。
答案 1 :(得分:2)
你可以用不同的方式做到这一点,Managing Directory Security Principals in the .NET Framework 3.5 以这种方式帮助你:
static void Main(string[] args)
{
/* Retreiving a principal context
*/
PrincipalContext domainContext = new PrincipalContext(ContextType.Domain, "WM2008R2ENT", "dc=dom,dc=fr", "TheUser", "ThePassword");
/* Discribe the group You are looking for as a principal
*/
GroupPrincipal gpPrincipal = new GroupPrincipal(domainContext);
gpPrincipal.Name = "abc-*";
/* Bind a searcher
*/
PrincipalSearcher searcher = new PrincipalSearcher();
searcher.QueryFilter = gpPrincipal;
PrincipalSearchResult<Principal> hRes = searcher.FindAll();
/* Read The result
*/
foreach (GroupPrincipal grp in hRes)
{
Console.WriteLine(grp.Name);
// You are looking for "grp.Members"
}
Console.ReadLine();
}
我希望它有所帮助。