首先我们要准备好我们的运行环境:
Windows .NET 3.5 Framework(从官方站下的版本,还要通过网络继续下包,非常慢,所以我提供了一个多特的地址)
PowerShell
ActiveRoles Management Shell for Active Directory
安装运行环境:
1、首先安装Windows .NET 3.5 Framework
2、安装PowerShell
3、ActiveRoles Management Shell for Active Directory
都是下一步到底的东西,没有太多好说的。
创建CSV文件:
1、首先用记事本创建对应文本
PowerShell通过CSV批量导入AD用户_活动目录 
2、保存文件,这里一定要注意编码,这里选择为”Unicode
PowerShell通过CSV批量导入AD用户_PowerShell_02
3、我在这里保存的路径为”C:\Users.csv”
 PowerShell通过CSV批量导入AD用户_活动目录_03 
PowerShell导入研究
1、”Type”显示文件信息,有点类似Linux Shell中的cat
 PowerShell通过CSV批量导入AD用户_用户_04
2、导入CSV信息,在PowerShell中有CSV导入的命令“Import-Csv
PowerShell通过CSV批量导入AD用户_PowerShell_05 
3、信息导入之后,考虑的是如何处理信息,这里我们将使用管道命令“|”,并使用”foreach”命令来罗列对象:
PowerShell通过CSV批量导入AD用户_PowerShell_06
(上图可能与第二步中显示的信息没有区别,在下图中我对命令进行小小的修改,结果如图所示)
PowerShell通过CSV批量导入AD用户_CSV_07

4、我们开始思考如何将所获取的信息写入AD,这里我们将使用ActiveRoles Management Shell for Active Directory中的命令“New-QADUser
PowerShell通过CSV批量导入AD用户_CSV_08 
由上图可以看到由于默认没有加载ActiveRoles Management Shell for Active Directory的模块所以找不到该命令报错。
这里我们可以直接通过Quest Software下面的ActiveRoles Management Shell for Active Directory来直接加载。
PowerShell通过CSV批量导入AD用户_活动目录_09
第一次加载时会提示是否需要运行。默认为“D”,我个人修改为了永远运行。。
5、我们先来看看New-QADUser的帮助,可以发现它存在大量的参数,有兴趣的朋友可以通过帮助继续研究:
PowerShell通过CSV批量导入AD用户_PowerShell_10
6、根据帮助我们来将信息写入AD:
Import-Csv C:\USERS.CSV | ForEach-Object {New-QADUser -ParentContainer 'ou=测试组,dc=TEST,dc=COM' -SamAccountNa
me $_.userName -Name $_.username -userPassword 'p@ssw0rd' -firstname $_.'名' -lastName $_.'姓' -Department $_.'部门' -di
splayName ($_."姓"+$_."名")}

参数说明
-ParentContainer 创建对象在AD中容器位置
-SamAccountName  登录名称
-Name 用户名
-userPassword 用户密码
-firstname 名
-lastName 姓
-Department  部门
-displayName 显示名称
7、执行结果:
PowerShell通过CSV批量导入AD用户_PowerShell_11 
再看看AD中的信息:
PowerShell通过CSV批量导入AD用户_CSV_12 
最后核对一下用户信息:
PowerShell通过CSV批量导入AD用户_活动目录_13 PowerShell通过CSV批量导入AD用户_批量_14 PowerShell通过CSV批量导入AD用户_用户_15
Pass!这里只是一段简单的脚本,并不健壮,例如AD中有用户的处理,以及日志功能等都还有待完善。
另外,微软自己也在做PowerShell管理AD的库了,现在有Beta,不多只支持英文版,有兴趣的朋友可以去Technet的AD Poweshell的Blog看看:
http://blogs.msdn.com/adpowershell/