我有两个片段为这样的工作,例如:
using System.DirectoryServices.AccountManagement;
using System.DirectoryServices;
// Authentication
using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, sDn))
{
// validate the credentials
bIsValid = pc.ValidateCredentials(sUsr, sPassword);
}
//List users
DirectorySearcher adsSearcher = new DirectorySearcher();
adsSearcher.Filter = string.Format(Parameters.ActiveDirectoryFilter, "*");
try
{
foreach (SearchResult sr in adsSearcher.FindAll())
{
string sUsrName = sr.GetDirectoryEntry().Properties["UserPrincipalName"].Value as string;
Console.WriteLine(string.Format("User : {0}", sUsrName));
}
}
当然,它需要两个引用(的System.DirectoryServices和System.DirectoryServices.AccountManagement)。
你应该使用'ldapsearch',它是用于查询目录SERV标准的命令行工具呃。 'ldapsearch'与目录服务器软件一起分发并且广泛可用。有关更多信息,请参见[“使用ldapsearch”](http://ff1959.wordpress.com/2011/07/27/mastering-ldapsearch/)。在写入任何其他代码之前,应使用此工具验证参数和假设。 – 2012-03-28 12:36:26