Windows 2000/03域用户帐户的导出/导入
2010-11-22 21:47:53|  分类:服务器 |  标签:帐户域  ad  用户  dc  |字号大中小订阅
作为网管,有时我们需要批量地向AD域中添加用户帐户,这些用户帐户既有一些相同的属性,又有一些不同属性。如果逐个添加、设置的话,十分地麻烦。一般来说,如果不超过10个,我们可利用AD用户帐户复制来实现。如果再多的话,我们就应该考虑使用或来减轻我们的工作量了。 
一、AD用户帐户复制
  1、在“AD域和计算机”中建一个作为样板的用户,如S1。
  2、设置相关需要的选项,如所属的用户组、登录时间、用户下次登录时需更改密码等。
  3、在S1上/右键/复制,输入名字和口令。
说明:
  1、只有AD域用户帐户才可以复制,对于本地用户帐户无此功能。
  2、帐户复制可将在样板用户帐户设置的大多数属性带过来。具体如下:
windows server2016
二、比较csvde与ldifde
三、以 为例说明:域用户帐户的导出/导入
  操作步骤如下:
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>”
5、 以上面的文件为参考基础,创建自己的my.csv ,并利用复制、粘贴、修改得到多条记录。例如:
dn,objectClass,sAMAccountName,userAccountControl,userPrincipalName
"CN=s1,OU=test,DC=mcse,DC=com",user,S1,512,***********
"CN=s2,OU=test,DC=mcse,DC=com",user,S2,512,***********
………………
其它可用字段,我试了一下,见下表(不全):
描述Description 
办公室physicalDeliveryOfficeName   
电话号码telephoneNumber 
电话号码:其它otherTelephone多个以英文分号分隔Mail 
网页wWWHomePage 
网页:其它url多个以英文分号分隔
 “地址”标签
国家/地区C如:中国CN,英国GB 省/自治区St 
市/县L 
街道streetAddress 
邮政信箱postOfficeBox 
postalCode 
 “帐户”标签
用户登录名userPrincipalName形如:S1@mcse
用户登录名(以前版本)sAMAccountName形如:S1
登录时间logonHours 
登录到userWorkstations多个以英文逗号分隔
用户帐户控制userAccountControl
启用:512,禁用:514,
密码永不过期:66048
帐户过期accountExpires 
 “配置文件”标签
配置文件路径profilePath  登录脚本scriptPath  主文件夹:本地路径homeDirectory  连接homeDrive  到homeDirectory 
 “电话”标签
家庭电话homePhone
若是其它,在前面加other。寻呼机Pager
如:otherhomePhone。
6、导入到AD,键入csvde –i –f my.csv –j c:\
说明:-j用于设置日志文件位置,默认为当前路径。此选项可帮助用户在导入不成功时排错。
  有一点大家必须明确的是:我们在这里做AD域用户帐户复制、做AD域用户帐户的导出/导入,并不能代替“AD备份和恢复”。我们只是在批量创建用户帐号,帐号的SID都是重新生成的,权利权限都得重新设才行。(当然我们可以把导入的用户,通过memberof字段设到一些用户组中去,使它有权利权限。但这与利用“AD备份和恢复”到原状,完全是两回事)。
=====================================================================
追加:利用ldifde修改域用户帐号属性
开始/运行:ldifde -i -
修改域用户帐号user1的“部门”为Info,示例的内容如下:
dn: CN=user1,CN=Users,DC=mcse,DC=com
changetype:modify
replace: department
department: info
-
最后的“-” 一定要加上,不然是会报错的,切记冒号后有没有空一格没有关系。
中文的问题,可以先通过导出,查看某个文字的编码。编辑文件时,一粘过来就可以了。
如:“测”字编码为“5rWL”,“试”字编码为“6K+V”
下面为用于导入的文章内容:
dn: CN=user1,CN=users,DC=mcse,DC=com
changetype: modify
replace:department
department::5rWL6K+V
-
……
注意:必须两个冒号
=====================================================================
追加:利用脚本创建批量用户帐户
1、利用脚本创建用户帐号(用户可参考下例)。
Set objDomain = GetObject(LDAP://dc=fabrikam,dc=com)
Set objOU = objDomain.Create("organizationalUnit", "ou=Management")
objOU.SetInfo
说明:在fabrikam域创建一个名叫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加入到这个组中。ho "Script ended successfully"
说明:显示“脚本成功结束”信息
2、利用脚本中的循环功能实现批量创建用户帐号
Set objRootDSE = GetObject(LDAP://rootDSE)
Set objContainer = GetObject("LDAP://cn=Users," & _ objRootDSE.Get("defaultNamingContext"))

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。