AD帐号批量导入导出

 

一、批量导入帐户

步骤及原理:

1、先用Excel表格做一个简单模版,将其保存为.csv格式!

2、再用For命令结合dsadd 来完成批量创建用户!

 

使用到的命令:(注:以下命令里参数为笔者做测试,别忘记修改!)

for /f  "tokens=1,2,3,4,5 delims=," %a in (D:\USER1.csv) do dsadd user "cn=%c,ou=IT,dc=test,dc=com"  -samid %d -upn %d -ln %a -fn %b -pwd %e -disabled yes -mustchpwd yes

 

以上命令简介:

tokens=1,2,3,4,5 :表示有五个变量(参数为表格内的5个参数,顺序为A/B/C/D/E 5个参数下面会用到)
delims=, :表示分隔符为
%a in (c:\baidu.csv) :表示变量从路径“c:\baidu.csv”中取数据
dsadd :添加命令
cn=%c,ou=IT,dc=baidu,dc=com :表示所创建的用户名与创建位置
-samid %d  -upn %d:表示登录名为变量d
-ln %a :设置用户姓为变量a
-fn %b :设置用户名为变量b
-pwd %e :设置密码为变量e
-disabled yes :表示导入以后为禁用状态

-mustchpwd yes:表示下次登录要修改密码, 默认值: no

 

开始创建用户:

一、创建一个累似以下内容的表格

AD帐号批量导入导出_AD帐号批量导入导出

二、然后将其保存为.Csv格式

三、在AD上创建一个OUIT),然后运行CMD,键入以下命令并执行:

 

for /f "tokens=1,2,3,4,5 delims=," %a in (d:\USER1.csv) do dsadd user "cn=%c,ou=IT,dc=test,dc=com" -samid %d -upn %d@test.com -fn %b -ln %a -pwd %e -disabled no  -mustchpwd yes

 

 

二、使用CSVDE导出帐户

语法

Csvde [-i] [-f FileName] [-s ServerName] [-c String1 String2] [-v] [-j Path] [-t PortNumber] [-d BaseDN] [-r LDAPFilter] [-p Scope] [-l LDAPAttributeList] [-o LDAPAttributeList] [-g] [-m] [-n] [-k] [-a UserDistinguishedName Password] [-b UserName Domain Password]

参数

-i

指定导入模式。如果没有指定,默认模式为导出。

-f FileName

识别导入或导出文件名。

-s ServerName

指定域控制器执行导入或导出操作。

-c String1 String2

将所有 String1 项替换为 String2。从一个域将数据导入到另一个域以及导出域的可分辨名称 (String1) 需要替换为导入域的可分辨名称 (String2) 时普遍使用该操作。

-v

设置 verbose 模式。

-j Path

设置日志文件位置。默认路径为当前路径。

-tPortNumber

指定轻型目录访问协议 (LDAP) 端口号。默认 LDAP 端口为 389。全局编录端口为 3268

-dBaseDN

为数据导出设置搜索库的可分辨名称。

-rLDAPFilter

为数据导出创建 LDAP 搜索筛选器。

-pScope

设置搜索范围。搜索范围选项为 BaseOneLevel SubTree

-lLDAPAttributeList

设置返回至导出查询结果中的属性列表。属性可由 LDAP 按任何顺序返回,CSVDE 不尝试进行任何列排序。如果省略该参数,则返回所有属性。

-oLDAPAttributeList

设置要从导出查询结果中省略的属性列表。从 Active Directory 中导出对象然后将对象导入到另一符合 LDAP 的目录中通常使用该方法。如果另一个目录不支持属性,您可以使用该选项从结果集中忽略属性。

-g

忽略分页搜索。

-m

忽略仅适用于 Active Directory 对象的属性,如 ObjectGUIDobjectSIDpwdLastSet samAccountType 属性。

-n

忽略二进制值导出。

-k

在导入操作期间忽略错误并继续处理。以下是可忽略错误的完整列表:对象已经存在约束冲突属性或值已经存在

-aUserDistinguishedName Password

将该命令设置成使用提供的 UserDistinguishedName Password 来运行。默认情况下,将使用当前登录到网络的用户的凭据运行该命令。此操作对用户名和密码进行了简单的 LDAP 绑定。

-bUserName Domain Password

将命令的运行方式设置为 UsernameDomainPassword。默认情况下,将使用当前登录到网络的用户的凭据运行该命令。此操作将 LDAP NEGOTIATE 身份验证方法安全地绑定在一起。

-?

显示命令菜单。

备注

·                                 不能使用 csvde 导入用户密码,因为密码必须通过加密通道发送。Csvde 不支持安全套接字层 (SSL) 或加密 LDAP 通信。前面的密码参考与运行 csvde 命令的用户的凭据相关。与用户的设置密码无关。

 

示例

   使用 CSVDE 导出现有对象的列表相当简单。
    
最简单的用法是:
    csvde –f ad.csv 
Active Directory 对象导出到名为 ad.csv 的文件。–f 开关表示后面为输出文件的名称。
   
但是必须注意,上述的用法是很简单,但是导出来的结果可能存在太多你不希望要的记录和信息。
   
如果要实现更精确的导出记录,可以使用 -d -r 以及 -l 参数。
   
其中:-d 用来指定特定的搜索位置和范围
          -r
用来指定特定的搜索对象类型
          -l
用来指定导出对象的具体属性
   
如:
csvde -f users.csv -d "ou=IT,dc=test,dc=com" -r "(&(objectcategory=person)(objectclass=user))" -l DN,objectClass,description


 注意:如果使用CSVDE导出的帐户信息中存在中文,会存在乱码的可能,可以加-U参数来解决。

 

参考文章: http://alligator.blog.51cto.com/36993/94148

         http://meigui0410.blog.51cto.com/1520603/324585

         http://weili163.blog.51cto.com/228292/338401