namespace ADsample
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Class1
{
static void Main(string[] args)
{
//
// TODO: Add code to start application here
//
GetAllOU();
Console.ReadLine();
}
//获取目录中需要的组织单元(OU)
public static void GetAllOU()
{
DirectoryEntry entry = new DirectoryEntry("LDAP://szcs");
DirectorySearcher mySearcher = new DirectorySearcher(entry);
mySearcher.Filter = ("(objectClass=organizationalUnit)");
foreach(SearchResult resEnt in mySearcher.FindAll())
{
Console.Write(resEnt.GetDirectoryEntry().Name.ToString());
Console.WriteLine("/t"resEnt.GetDirectoryEntry().Name.ToString());
}//end foreach
}//end GetAllOU
}//end class
}//end namespace
程序注解:
ü 程序开始,实例化了一个DirectoryEntry类,其构造函数的参数是"LDAP://szcs",这里szcs是域名。
ü 然后又实例化了一个DirectorySearcher类,用来查询szcs域中活动目录中的信息,其构造函数的参数是一个DirectoryEntry类的实例对象。
ü DirectorySearcher类的Filter属性用来设置查询的过滤条件,一般有以下三种:
1. objectClass=organizationalUnit 查询条件是所有的组织单元(OU)
2. objectClass=group 查询条件是所有的组(GROUP)
3. objectClass=user 查询条件是所有的用户(USER)
当然还可以设置其他的过滤条件,而且可以使用逻辑运算符,详情请参加MSDN
ü DirectorySearcher类的Findall方法用来递归的查找所有符合条件的对象。其返回结果
是一个SearchResult类型的对象,这是一个集合类型。
ü 用Foreach语句访问集合中的所有对象,获得对象的信息。
c#遍历活动目录
最新推荐文章于 2021-01-20 21:42:21 发布