在AD域中,如何批量添加域用户帐号?
作为网管,有时我们需要批量地向AD域中添加用户帐户,这些用户帐户既有一些相同的属性,又有一些不同属性。如果逐个添加、设置的话,十分地麻烦。一般来说,如果不超 过10个,我们可利用AD用户帐户复制来实现。如果再多的话,我们就应该考虑使用csvde.exe或ldifde.exe来减轻我们的工作量了。最后简单介绍一下利用脚本(可利用循环功能)批量创建用户帐号
一、AD用户帐户复制
1、在“AD域和计算机”中建一个作为样板的用户,如S1。
2、设置相关需要的选项,如所属的用户组、登录时间、用户下次登录时需更改密码等。
3、在S1上/右键/复制,输入名字和口令。
说明:
1、 只有AD域用户帐户才可以复制,对于本地用户帐户无此功能。
2、 帐户复制可将在样板用户帐户设置的大多数属性带过来。具体如下:
二、比较csvde与ldifde
三、以csvde.exe为例说明:域用户帐户的导出/导入
操作步骤如下:
1、 在“AD域和计算机”中建一个用户,如S1。
2、 设置相关需要的选项,如所属的用户组、登录时间、用户下次登录时需更改密码等。
3、 在DC上,开始/运行:cmd
4、 键入:csvde –f demo.csv
说明:
(1)不要试图将这个文件导回,来验证是否好使。因为这个文件中的好多字段在导入时是不允许用的,如:
ObjectGUID、objectSID、pwdLastSet 和 samAccountType 等属性。我们导出这个文件目的只是为了查看相应的字段名是什么,其值应该怎么写,出错信息如下:
(2)可通过-d –r参数指定导出范围和对象类型。例如:
-d “ou=test,dc=mcse,dc=com” 或 -d “cn=users,dc=mcse,dc=com”
-r “< Objectclass=user>”
1、 以上面的文件为参考基础,创建自己的my.csv,并利用复制、粘贴、修改得到多条记录。例如:
dn,objectClass,sAMAccountName,userAccountControl,userPrincipalName
"CN=s1,OU=test,DC=mcse,DC=com",user,S1,512,[email protected]
"CN=s2,OU=test,DC=mcse,DC=com",user,S2,512,[email protected]
………………,其它可用字段,我试了一下,见下表(不全):
6、导入到AD,键入 csvde –i –f my.csv –j c:\
说明:-j用于设置日志文件位置,默认为当前路径。此选项可帮助用户在导入不成功时排错。
有一点大家必须明确的是:我们在这里做AD域用户帐户复制、做AD域用户帐户的导出/导入,并不能代替“AD备份和恢复”。我们只是在批量创建用户帐号,帐号的SID都是重新生成的,权利权限都得重新设才行。(当然我们可以把导入的用户,通过memberof字段设到一些用户组中去,使它有权利权限。但这与利用“AD备份和恢复”到原
状,完全是两回事)。
四、利用脚本创建批量用户帐户
1、利用脚本创建用户帐号(用户可参考下例)。
Set objDomain = GetObject("LDAP://dc=fabrikam,dc=com")
Set objOU = objDomain.Create("organizationalUnit", "ou=Management")
objOU.SetInfo
说明:在fabrikam.com域创建一个名叫Management的OU。
Set objOU = GetObject("LDAP://OU=Management,dc=fabrikam,dc=com")
Set objUser = objOU.Create("User", "cn= AckermanPila")
objUser.Put "sAMAccountName", "AckermanPila"
objUser.SetInfo
objUser.SetPassword "i5A2sj*!"
objUser.AccountDisabled = FALSE
objUser.SetInfo
说明:在Management OU下创建一个名叫AckermanPila的用户,口令为i5A2sj*!,启用。
Set objOU = GetObject("LDAP://OU=Management,dc=fabrikam,dc=com")
Set objGroup = objOU.Create("Group", "cn=atl-users")
objGroup.Put "sAMAccountName", "atl-users"
objGroup.SetInfo
objGroup.Add objUser.ADSPath
objGroup.SetInfo
说明:在Management OU下创建一个名叫atl-users的用户组,将用户AckermanPila加入到这个组中。
Wscript.echo "Script ended successfully"
说明:显示“脚本成功结束”信息
2、利用脚本中的循环功能实现批量创建用户帐号
Set objRootDSE = GetObject("LDAP://rootDSE")
Set objContainer = GetObject("LDAP://cn=Users," & _
objRootDSE.Get("defaultNamingContext"))
For i = 1 To 1000
Set objUser = objContainer.Create("User", "cn=UserNo" & i)
objUser.Put "sAMAccountName", "UserNo" & i
objUser.SetInfo
objUser.SetPassword "i5A2sj*!"
objUser.AccountDisabled = FALSE
objUser.SetInfo
Next
WScript.Echo "1000 Users created."
说明:在当前域的Users容器中创建UserNo1到UserNo1000,共1000个用户帐户
我的计算机不知道怎么回事,系统时间总是被改快1小时?
加入域的计算机,没有自己的时间。这是因为时间参数,在AD复制中是一个极为重要的因素。如:决定多主控复制时,谁的修改最终生效。所以整个域的时间,都由域的PDC仿真主控来控制,整个林的时间都由林根域上的PDC仿真主控来控制。
说明:如果整个林的时间都快1小时,对你AD的正常工作没有任何影响。
解决:修改林根域的PDC仿真主控计算机的时间。实际工作中,要先查看域内计算机的时区设置是否正确。
建立AD域,需要有什么样的权限才行?
1、若是创建林内的第一个域,即林根域,只要有目标计算机上的本地管理员权限即可。
2、作为已有域的附加DC,需要该域的域管理员(Domain Admins)权限。
3、安装子域的DC,或新树的DC,都涉及到林结构的改变,需要林管理员(Enterprise Admins)权限才行。
如何在2000域中添加一台03的DC?
03和2000比,功能更强大了,在域和AD的体系结构上也有了一些变化(参见前面:域、林功能级别)。但微软的产品十分讲究向前兼容,我们可以实现在一个2000域中加入03DC、加入03DNS,并且DC间的AD复制,DNS间的区域传输,都好像没有版本差异一样。
但要注意:直接就在03计算机上安装AD是不行的,会收到出错提示“Active Directory版本不同”。我们需要做一些准备工作,在2000DC(SP2及更高)上运行03光盘/I386/adprep, 具体第一步:adprep /forestprep进行林准备,第二步adprep /domainprep进行域准备。
顺便说一下:03可以作为2000域的附加DC,2000也可以作为03域的附加DC,而直接在2000上安装AD即可,不需要准备。
创建AD域时,由于没有NTFS分区,导致AD安装失败?
在2000/03成员或独立服务上上运行dcpromo命令,安装AD,将其提升为DC,其上必须有一个NTFS 5.0分区,用来保存AD的sysvol文件夹。
注意:2000的NTFS分区是NTFS 5.0,NT4的是NTFS 4.0,NT4必须安装SP4后,才可访问2000的NTFS分区。 如果C是引导分区,即系统夹winnt或windows所在分区,采用FAT32分区,系统会自动查找下一个可用的NTFS分区来存放系统卷,如d:\sysvol。如果找不到NTFS分区,就会出错,导致AD安装失败。这时可利用convert命令将某个FAT32分
区转成NTFS分区,这个转换会保持数据的完好。但要注意这个转换是单向不可逆,想回复到FAT分区,除非重新格式化该分区。 以转换D盘为例,具体操作如下:
1、开始/运行:convert d: /fs:ntfs
2、提示是否转换,键入y确认转换。
说明:这时并没有真正开始转换,如果后悔,可以到注册表HLM\当前控制\控制\会话管理\BootExecute下,删除其值Convert d: /fs:ntfs 。
3、重新启动计算机,将在登录界面出现前,真正实施FAT到NTFS的转换。
安装AD域时,出现NetBIOS名称冲突?
在安装AD时,安装选项会要求输入:新域的DNS全名,在这里应该输入新域的完全有效域名FQDN,形如:mcse.com。系统会打算以mcse作为此域的NetBIOS名称,并在网络中检查是否存在重名,需要等一会儿。
如果不重名则设为mcse(建议用户不要修改此名),重名系统则自动设为mcse0,建议用户最好换个名字,因为你的网络可能还会有2000以前版本的老系统,考虑到NetBIOS名称解析和DNS名称解析的互助,保持一致性比较好。
说明:NetBIOS名称,只是为95/98/NT等老版本用户通过“浏览服务”或WINS来识别这个域用的,如果确信域内计算机都是2000及以上系统(它们通过DNS定位域),其实NetBIOS名称冲不冲突,都无所谓。 这种冲突可能源自于网络中如果已有一个域,名字叫做mcse.org,DNS名虽然不冲突,但是NetBIOS名称冲突。也可能是你安装了一个mcse.com域未能完全成功,又再次安装导致的,这样情况倒可以强行将NetBIOS名称将为mcse,而不是mcse0。
安装AD完成后,重启登录非常慢,甚至长达20分钟之久。
这一般是由于用一台运行了一段时间的2000/03 Server来安装AD造成的,故障较难定位。若重启几次后就正常了,则不必理会。如果多次重启后还是非常慢,那就要重装系统及AD了。建议:最好在新装的系统上来安装AD,这样不容易出问题。
安装AD时,选择了在本机安装DNS,但安装结束后,在DNS中未生成SRV记录?
如果决定在安装AD过程中在本机安装DNS,应在安装前,将本机TCP/IP配置中的DNS服务器指向自己,这样在安装AD完成后重启时,SRV记录将被自动注册到DNS服务器的区域当中去的,生成四个以下划线开头的文件夹,如_msdcs。 03DNS在这里夹的层次结构有所变化,将_msdcs.域名夹提升了一级,直接放到了查找区域下,但本质没变。 如果安装前忘了将DNS指向自己,也可以后补上。然后到计算机管理/服务下,重启Net Logon服务即可。这样可以把启动时未能注册到DNS服务器的SRV记录(缓存在windows\system32\cache中)写入DNS。如果仍然不行的话,那只好重启DC了。
安装子域失败。
在保证权限(需要林管理员权限,不要误以为是父域管理员权限)、DNS没问题的情况下,最常见的安装子域失败的原因就是域命名主控失效,出错提示为:“由于以下原因,操作失败:AD无法与域命名主机xxx联系。指定的服务器无法运行指定的操作。”
说明:域命名主控要正常工作,它本身要求GC必须可用。这是由于:为了保证域的名字在林中唯一,域命名主机需要查询GC。若是2000林,GC必须和域命名主机在同一台计算机上才行。若是2003林,不要求GC必须和域命名主机非得在同一台计算机上。
解决:保证域命名主控联机,如果确信其已无法正常工作,可强制传给(查封seize)林内的任意一台DC,子域的DC也可以。原来的主控必须被重做系统后,才可连入网络,以保证域命名主控的林唯一性。
修改用户密码需要几分钟,甚至更长的时间。
前面我们介绍过:PDC仿真主控负责最小化密码变化的复制等待时间,若一台DC接受到密码变化的请求,它必须通知PDC仿真主控。若是PDC仿真主机失效,收到该请求的DC必须经过一段时间的查找后,确认真的找不到PDC仿真主控了,才会自己修改用户密码。所以在此情况下,应首先检查PDC仿真主控。 如果确信其已无法正常工作,可强制传给(查封seize)域内的任意一台DC。原来的主控必须被重做系统后,才可连入网络,以保证PDC仿真主控的域唯一性。
正常卸载AD时的常见问题
在实际工作中有时我们需要改变服务器角色,或者将实验中安装的DC回复到普通成员/独立服务器身份,这就要进行AD的卸载。
1、卸载时会提示给新的本地管理员设置密码
2、附加DC卸载后,仍在域中。
3、如果AD不能卸载,应从以下几方面考虑:
(1)网卡是否正常工作
即使你整个林中只有一台计算机,也要保证网卡正常工作,才能将AD卸载。网卡不工作或禁用网卡都会导致AD无法卸载,提示“卸载SYSVOL文件夹出错”
(2)权限
权限要求与安装AD时类似,若一个林中只有一个域,那么你要卸载的就是林根域,需要林管理员(Enterprise Admins)权限;卸载附加DC需要该域的域管理员(Domain Admins)权限;卸载子域或树,涉及到林结构的改变,也需要林管理员权限。
(3)DNS
一般应保证与安装时所用DNS一致。如果做了DNS规划,必须保证1中权限所要求的管理员身份能通过DNS找到相应DC,进行验证。
(4)域命名主控
卸载时只要涉及到林结构的改变,就需要保证域命名主控有效;卸载附加DC时不要求域命名主控有效。
但要注意的是:卸载时,域命名主控失效的出错信息与安装时的“AD无法与域命名主机xxx联系”提示不同,具体是:由于以下原因,操作失败。以提供的凭据绑定到服务器xxx失败。“RPC服务器不可用”。
(5)卸载的顺序
与安装顺序相反,应该先逐级卸载下面的子域,最后卸载树根域、林根域。否则将导致子域无法卸载,而存在的子域还有问题,找不到林根域、树根域了。
因为这时极有可能架构和域命名主控及GC未转移,林管理员组和架构管理员组(Schema Admins)已经随林根域的删除而没有了。为什么这么说呢?因为如果管理员考虑到主控及GC等的转移问题,也就不会误删除林根域了。
转自:http://hi.baidu.com/domenet/blog/item/cc019f1d9b782074dab4bda7.html