网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > C# > 正文
.Net环境下用C#操纵活动目录
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/14
下载{$ArticleTitle}原创论文样式

    Windows 2000 Server在Windows NT Server 4.0的基础上,进一步发展了"活动目录(Active Directory)".活动目录是从一个数据存储开始的。它采用了类似Exchange Server的数据存储,称为:Extensible Storage Service (ESS)。其特点是不需要事先定义数据库的参数,可以做到动态地增长,性能非常优良。这个数据存储之上已建立索引的,可以方便快速地搜索和定位。活动目录的分区是"域(Domain)",一个域可以存储上百万的对象。域之间还有层次关系,可以建立域树和域森林,无限地扩展。

    活动目录充分体现了微软产品的"ICE",即集成性(Integration),深入性(Comprehensive),和易用性(Ease of Use)等优点。活动目录是一个完全可扩展,可伸缩的目录服务,既能满足商业ISP的需要,又能满足企业内部网和外联网的需要。

    在.Net环境下操纵活动目录非常容易,其中提供了很多封装好的类用来操纵活动目录,这些类都存放在System.DirectoryServicess名称空间里。本文见简要介绍一下如何使用这些类来读取活动目录中的信息。

    注:我们假设您已经对活动目录的概念有了基本的了解。

    我的网络环境由两个域控制器,和数台win2000工作站组成,安装了活动目录用来保存域里的一切信息,域名是szcs.

    下面我们开始建立一个简单的控制台应用程序,来读取活动目录的信息。

    第一步:建立项目

    (这就不多说了)

    第二步:添加引用

    由于操纵活动目录的类都存放在System.DirectoryServices.dll文件里。所以,我们必须在项目中添加对它的引用。

    方法:在菜单中,选择 项目-引用,选择System.DirectoryServices.dll,确定。

    第三步:引用名称空间

    方法:在程序的开头出添加下面程序

    using System.DirectoryServices;

    第四步:编写程序

    下面是一个范例程序
namespace ADsample

{

///



/// Summary description for Class1.

///

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语句访问集合中的所有对象,获得对象的信息。

  • 上一篇资讯: TabContainer 背景色的设置
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号