最近在用户现场遇到一个问题就是通过ldap导入用户,发现导入失败,经过分析得知是AD域服务器设置的最大返回条目数默认为1000,当数据超过1000,通过ldap_search_s获取数据时就会异常,通过抓包分析得知是,报文回复不全导致无法解析。后来就想在自己的AD域复现并解决这个问题。那么,问题来了,怎么在AD域创建1000个用户,如果一个一个来,那估计黄花菜都凉了,用户都疯了。下面是解决这两个问题的方法:
(一)批量创建用户
1、通过excel批量编辑用户,按如下格式,之后保存为csv格式。
2、将csv文件上传到AD服务器下。
3、进入命令行模式,并先通过如下命令测试你的服务器能不能正常显示。
for /f "tokens=1,2,3,4,5 delims=," %a in (csv文件全路径) do @echo %a %b %c %d %e
4、如果可以正常显示,则通过如下命令添加用户即可:
for /f "tokens=1,2,3,4,5 delims=," %a in (csv文件全路径) do dsadd user "cn=
%c,ou=test,dc=ocsp,dc=brian,dc=com" -samid %d -upn %d@ocsp.brian.com -ln %a -fn %b -pwd %e -disabled yes
参数说明:
1)ou 对应为你要添加到的OU名
2)dc分别对应你的域;
3)@ocsp.brian.com为你创建用户时的一个后缀;
4)-disabled 是否禁用
5)点击查看你的OU,如果看不到,则重启AD域服务器;
(二)修改AD域服务器的最大返回条目数限制
AD缺省的最大查询结果为1000个,如果超过1千个,则需要客户端使用分页方式取回。
具体使用方式如下:
> 输入 ntdsutil
> 输入 help 命令,查看可用的命令;(选择ldap policies)
> 输入 ldap policies
> 输入 connections
> 输入 connect to domain ocsp.brian.com
> 输入 quit
> 输入 set maxpagesize to 5000
> 输入 show values
> 输入 commit changes