这篇博客的目的:根据亲身项目经历,总结对AD及Exchange Server的操作,包括新建AD用户,设置密码,为AD用户创建邮箱等。
本文完全原创,转载请说明出处,希望对大家有用。
文档目录:
1、测试环境
服务器:windows server 2008R2
Exchange:Exchange Server 2010 sp1
开发工具:Visual Studio 2010
一台exchange服务器+一台AD服务器+一台承载测试程序的服务器
2、需求简述
1、引入DLL及方法简述
MS提供了远程操作AD的DLL:System.DirectoryServices(添加引用中有);
其中,我们使用LDAP协议访问AD,LDAP翻译为轻量目录访问协议。
在使用的时候,需要注意一些问题:
DirectoryServices其实提供了其他很多操作,如对IIS的操作,对本地用户的操作,有兴趣的可以了解下。
2、新增OU或Security Group
首先新建一个控制台应用程序
添加服务引用:
在项目中新建一个ADHelper.cs用来提供AD操作的公用方法
ADHelper代码解释:
新建一个ADManage.cs操作类,用来定义具体的操作方法:
新建OU代码解释:
操作方法写好后,我们就来测试一下
在Program中写测试代码:
运行代码
域控中查看结果:
补充:
如何在多层OU下创建新的OU?
OU类似于文件夹,在不同的目录中可以有相同名字的OU,想要在多层OU下创建OU,首先要确认路径Path
假设有一个OU,path为:
CompanyA
BranchB
DepartmentC
则GetDirectoryEntry实例中的path属性应该修改为:
“LDAP://AD服务器地址/OU=DepartmentC,OU=BranchB,OU=CompanyA,DC=contoso,DC=com”,这样新建的OU就会在DepartmentC目录下。
3、新建AD User
新建User与新建OU或组有一些不同,先看代码:
新建用户代码解释:
编写测试代码:
测试结果:
注意:此时新建的账户是停用状态,后面的章节会介绍如何启用/停用
4、添加用户到组或从组中删除用户
在组中添加/删除用户使用到DirectorySearcher,用来查找组,见代码:
代码解释:
测试一下,这里只测试添加,移除操作请自行测试:
测试结果:
5、用户信息更新
用户信息更新也比较简单,直接上示例代码+测试代码,如果有疑问,随时联系:
6、Enable/Disable用户账号
Enable/Disable用户账号用到了新的属性userAccountControl,可以对账号密码的是否过期,账号是否可用等进行设置。
以下是设置userAccountControl时会用到值
具体代码如下:
AD一节的内容已经写完了,下一篇博客会写对Exchange Server的操作。
如果有什么疑问,请及时与我讨论