PowerShell通过CSV批量导入AD用户
2009-08-03 23:56
399 查看
首先我们要准备好我们的运行环境:
Windows .NET 3.5 Framework(从官方站下的版本,还要通过网络继续下包,非常慢,所以我提供了一个多特的地址)
http://9.duote.com/dotnetfxchs.exe
PowerShell
http://download.microsoft.com/download/D/0/E/D0E6D2C1-2593-4017-B26D-7375BC9263D5/PowerShell_Setup_x86.msi
ActiveRoles Management Shell for Active Directory
http://www.quest.com/quest_download_assets/individual_components/ActiveRolesManagementShellforActiveDirectory_122.zip
安装运行环境:
1、首先安装Windows .NET 3.5 Framework
2、安装PowerShell
3、ActiveRoles Management Shell for Active Directory
都是下一步到底的东西,没有太多好说的。
创建CSV文件:
1、首先用记事本创建对应文本
2、保存文件,这里一定要注意编码,这里选择为”Unicode”
3、我在这里保存的路径为”C:\Users.csv”
PowerShell导入研究
1、”Type”显示文件信息,有点类似Linux Shell中的cat
2、导入CSV信息,在PowerShell中有CSV导入的命令“Import-Csv”
3、信息导入之后,考虑的是如何处理信息,这里我们将使用管道命令“|”,并使用”foreach”命令来罗列对象:
(上图可能与第二步中显示的信息没有区别,在下图中我对命令进行小小的修改,结果如图所示)
4、我们开始思考如何将所获取的信息写入AD,这里我们将使用ActiveRoles Management Shell for Active Directory中的命令“New-QADUser”
由上图可以看到由于默认没有加载ActiveRoles Management Shell for Active Directory的模块所以找不到该命令报错。
这里我们可以直接通过Quest Software下面的ActiveRoles Management Shell for Active Directory来直接加载。
第一次加载时会提示是否需要运行。默认为“D”,我个人修改为了永远运行。。
5、我们先来看看New-QADUser的帮助,可以发现它存在大量的参数,有兴趣的朋友可以通过帮助继续研究:
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、执行结果:
再看看AD中的信息:
最后核对一下用户信息:
Pass!这里只是一段简单的脚本,并不健壮,例如AD中有用户的处理,以及日志功能等都还有待完善。
另外,微软自己也在做PowerShell管理AD的库了,现在有Beta,不多只支持英文版,有兴趣的朋友可以去Technet的AD Poweshell的Blog看看:
http://blogs.msdn.com/adpowershell/
Windows .NET 3.5 Framework(从官方站下的版本,还要通过网络继续下包,非常慢,所以我提供了一个多特的地址)
http://9.duote.com/dotnetfxchs.exe
PowerShell
http://download.microsoft.com/download/D/0/E/D0E6D2C1-2593-4017-B26D-7375BC9263D5/PowerShell_Setup_x86.msi
ActiveRoles Management Shell for Active Directory
http://www.quest.com/quest_download_assets/individual_components/ActiveRolesManagementShellforActiveDirectory_122.zip
安装运行环境:
1、首先安装Windows .NET 3.5 Framework
2、安装PowerShell
3、ActiveRoles Management Shell for Active Directory
都是下一步到底的东西,没有太多好说的。
创建CSV文件:
1、首先用记事本创建对应文本
2、保存文件,这里一定要注意编码,这里选择为”Unicode”
3、我在这里保存的路径为”C:\Users.csv”
PowerShell导入研究
1、”Type”显示文件信息,有点类似Linux Shell中的cat
2、导入CSV信息,在PowerShell中有CSV导入的命令“Import-Csv”
3、信息导入之后,考虑的是如何处理信息,这里我们将使用管道命令“|”,并使用”foreach”命令来罗列对象:
(上图可能与第二步中显示的信息没有区别,在下图中我对命令进行小小的修改,结果如图所示)
4、我们开始思考如何将所获取的信息写入AD,这里我们将使用ActiveRoles Management Shell for Active Directory中的命令“New-QADUser”
由上图可以看到由于默认没有加载ActiveRoles Management Shell for Active Directory的模块所以找不到该命令报错。
这里我们可以直接通过Quest Software下面的ActiveRoles Management Shell for Active Directory来直接加载。
第一次加载时会提示是否需要运行。默认为“D”,我个人修改为了永远运行。。
5、我们先来看看New-QADUser的帮助,可以发现它存在大量的参数,有兴趣的朋友可以通过帮助继续研究:
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、执行结果:
再看看AD中的信息:
最后核对一下用户信息:
Pass!这里只是一段简单的脚本,并不健壮,例如AD中有用户的处理,以及日志功能等都还有待完善。
另外,微软自己也在做PowerShell管理AD的库了,现在有Beta,不多只支持英文版,有兴趣的朋友可以去Technet的AD Poweshell的Blog看看:
http://blogs.msdn.com/adpowershell/
相关文章推荐
- powershell导入AD用户和启用邮箱
- SharePoint自动化部署,利用PowerShell 导入用户至AD——PART II
- 使用powershell批量导入AD用户
- SharePoint自动化部署,利用PowerShell 导入用户至AD——PART II
- SharePoint自动化部署,利用PowerShell 导出/导入AD中的用户
- PowerShell 批量导入AD域用户
- SharePoint自动化部署,利用PowerShell 导出/导入AD中的用户
- SharePoint自动化部署,利用PowerShell 导出/导入AD中的用户
- SharePoint自动化部署,利用PowerShell 导入用户至AD——PART II
- 使用CSVDE命令批量导入/导出AD用户
- AD 批量导入用户
- AD域导入导出用户
- win2008r2 AD用户账户的批量导入方法
- AD用户账户的批量导入-by 联科教育
- oracle通过impdp导入不同表用户、不同表空间的数据
- AD下批量导入"域用户"
- PowerShell检测AD域用户密码到期邮件提醒
- 如何用powershell导出AD用户信息到CSV中并发送到本地邮箱中
- .NET通过PowerShell操作ExChange为用户开通邮箱教程
- Redmine 导入AD用户