使用 PrimarySearcher 从 Active Directory 检索用户信息
如果您是 Active Directory 新手,了解其分层数据结构和LDAP 查询功能。要检索用户列表,System.DirectoryServices.AccountManagement 中的PrincipalSearcher 类提供了一种直观的方法。
使用 (var context = new PrimaryContext(ContextType.Domain, "yourdomain.com"))
建立到指定域的连接。
using (var searcher = new PrimarySearcher(new UserPrincipal(context)))
创建用于查找用户主体的搜索器对象。
在 FindAll() 循环中,获取与每个结果关联的 DirectoryEntry 对象来访问属性,例如:
下面的代码片段提供了此方法的示例:
using (var context = new PrincipalContext(ContextType.Domain, "yourdomain.com")) { using (var searcher = new PrincipalSearcher(new UserPrincipal(context))) { foreach (var result in searcher.FindAll()) { DirectoryEntry de = result.GetUnderlyingObject() as DirectoryEntry; Console.WriteLine("First Name: " + de.Properties["givenName"].Value); Console.WriteLine("Last Name : " + de.Properties["sn"].Value); Console.WriteLine("SAM account name : " + de.Properties["samAccountName"].Value); Console.WriteLine("User principal name: " + de.Properties["userPrincipalName"].Value); Console.WriteLine(); } } } Console.ReadLine();
该解决方案有效地从以下位置检索所需的用户信息活动目录。
以上是如何使用PrincipalSearcher 从Active Directory 检索用户信息?的详细内容。更多信息请关注PHP中文网其他相关文章!