AD域导入导出命令

时间:2021-12-31 13:29:59

AD域 批量组织机构、用户导入导出

参考网站

https://technet.microsoft.com/zh-cn/library/cc753447(v=ws.11).aspx

导入所有命令 均cmd 操作 并跳转到根目录C:\

组织单元:OU

域:DC

导出域用户

1. 导出语句:csvde -f users.csv (这样导出的是所有字段,太多了所有要精简)

2. 其他导出语句:csvde -f users.csv -d "ou=集团,dc=CMS,dc=COM" -r "(&(objectcategory=person)(objectclass=user))" -l DN,objectClass,samaccountname -j c:\

  • -f 输入或输出文件名
  • -r 搜索筛选器
  • -l 在LDAP 搜索中查找属性列表
  • -j 日志文件位置

3. 参考 csvde /?

最终输出的格式 大概是下面这个样子的

AD域导入导出命令

导出域组织机构

1. 把导出组织机构的命令修改一下

2.

csvde -f dep.csv -d "ou=集团,dc=CMS,dc=COM" -r "(&(objectcategory=OrganizationalUnit))" -l DN,objectClass,samaccountname -j c:\

3. 导出的格式如下

AD域导入导出命令

导入组织结构

1. 组织结构的格式已经得到,下面就要创建一个和这个格式一样的组织结构CSV

AD域导入导出命令

2. 命名为 ceshidep.csv

3. 输入命令

csvde -i -f ceshidep.csv

导入用户

与之前操作差不多,参考组织机构导入

csvde -i -f ceshiuser.csv

 

 

 

找到两个批量导入用户和组的脚本

地址:http://blog.163.com/nancainvmao_bq/blog/static/10657374201321251732451/

1,Add Users:

Save a .bat file with similar below contents , and then run the .bat file on AD server wherever folder.

 

@echo off

set MINUSERNUM=1

set MAXUSERNUM=8002


set NUMUSER=%MINUSERNUM%


set USERPRE=TestUser

set USERLN=Case

set USERPWD=111111

set EMAILSUB=@wendy2012.qa


:LOOP


set USERNAME=%USERPRE%%NUMUSER%

set USERDN="cn=%USERNAME%,ou=CaseTest,dc=wendy2012,dc=qa"

set USEREMAIL="%USERNAME%%EMAILSUB%"


@echo on


dsadd user %USERDN% -samid %USERNAME% -upn %USEREMAIL% -fn %USERNAME% -ln %USERLN% -display %USERNAME% -pwd %USERPWD% -email %USEREMAIL% -canchpwd no -pwdneverexpires yes -acctexpires never


@echo off


set /a NUMUSER+=1


if %NUMUSER% leq %MAXUSERNUM% goto LOOP

 

2,Add Groups:

Save a .bat file with similar below contents , and then run the .bat file on AD server wherever folder.

 

@echo off

set MINGROUPNUM=1

set MAXGROUPNUM=2000


set NUMGROUP=%MINGROUPNUM%


:LOOP


set GROUPNAME="cn=EIGroup%NUMGROUP%,ou=EITest,dc=peggy2,dc=qa"


@echo on


dsadd group %GROUPNAME%

dsmod group %GROUPNAME% -addmbr "cn=EIUser1,ou=EITest,dc=peggy2,dc=qa"


@echo off


set /a NUMGROUP+=1


if %NUMGROUP% leq %MAXGROUPNUM% goto LOOP