作为网管,有时我们需要批量地向AD域中添加用户帐户,这些用户帐户既有一些相同的属性,又有一些不同属性。如果逐个添加、设置的话,十分地麻烦。一般来说,如果不超 过10个,我们可利用AD用户帐户复制来实现。如果再多的话,我们就应该考虑使用csvde.exe或ldifde.exe来减轻我们的工作量了。 一、 AD用户帐户复制 1、在“AD域和计算机”中建一个作为样板的用户,如S1。 2、设置相关需要的选项,如所属的用户组、登录时间、用户下次登录时需更改密码等。 3、在S1上/右键/复制,输入名字和口令。 说明: 1、 只有AD域用户帐户才可以复制,对于本地用户帐户无此功能。 2、 帐户复制可将在样板用户帐户设置的大多数属性带过来。具体如下:
|
选项卡 |
复制到新用户帐号的属性 |
| 常规 |
无。 |
| 地址 |
除了“街道”之外所有 |
| 帐户 |
除了“用户登录名”之外所有 |
| 配置文件 |
除“配置文件路径”和“主文件夹”。欲复制它们,应该使用 %username%变量,如:\\server\share\%username% |
| 电话 |
无 |
| 单位 |
除了“职务”之外所有。 |
| 隶属于 |
全部 |
| 拨入 |
无,将默认值应用于新帐户。 |
| 环境 |
无,将默认值应用于新帐户。 |
| 会话 |
无,将默认值应用于新帐户。 |
| 远程控制 |
无,将默认值应用于新帐户。 |
| 终端服务配置文件 |
无,将默认值应用于新帐户。 |
二、比较csvde与ldifde
| |
csvde逗号分隔符目录交换 |
ldifde轻型目录访问协议 互换格式目录交换 |
| 功能 |
只能用来添加对象,不能用于删除/修改 |
可用于添加/删除/修改对象 |
| 格式 |
字段名1,字段名2,字段名3,…… 记录1此值,记录1此值,记录1此值,…… |
字段名1: 记录1此值 字段名2: 记录1此值 字段名3: 记录1此值 …… |
| 举例 |
Dn,objectclass,samaccountname, userprincipalname,useraccountcontrol “cn=s1,ou=test,dc=mcse,dc=com” ,user,s1,s1@mcse.com,512 |
Dn: cn=s1,ou=test,dc=mcse,dc=com Objectclass:user Samaccountname:s1 Userprincipalname:s1@mcse.com useraccountcontrol:512 |
| 共同点 |
用于导入的文本文件必须包含: * 用户帐号的OU,对象的类型以及用户登录名的路径,用户主名 * 默认(即不指定时):用户帐户为禁用。启用:512,禁用:514 * 可包含个人信息,但不可包含密码,只能用默认的空口令。 * 或通过设pwdLastSet字段值为0,使“用户下次登录时须更改密码” (不设这个字段,默认也是如此)。 * 通过设userAccountControl字段值为66048,可使“密码永不过期”。 |
三、以csvde.exe为例说明:域用户帐户的导出/导入 操作步骤如下: 1、 在“AD域和计算机”中建一个用户,如S1。 2、 设置相关需要的选项,如所属的用户组、登录时间、用户下次登录时需更改密码等。 3、 在DC上,开始/运行:cmd 4、 键入:csvde –f demo.csv 说明: (1)不要试图将这个文件导回,来验证是否好使。因为这个文件中的好多字段在导入时是不允许用的,如:ObjectGUID、objectSID、pwdLastSet 和 samAccountType 等属性。我们导出这个文件目的只是为了查看相应的字段名是什么,其值应该怎么写,出错信息如下:
| objectGUID:写 |
UNPRINTABLEBINARY(16) |
"由于安全原因不允许修改。" |
| objectSid:写 |
UNPRINTABLEBINARY(28) |
"由于该属性处于“安全帐户管理器” (SAM),不允许访问该属性。" |
(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,S1@mcse.com "CN=s2,OU=test,DC=mcse,DC=com",user,S2,512,S2@mcse.com ……………… 其它可用字段,我试了一下,见下表(不全):
|
用户帐户属性 |
字符名 |
说明 |
|
|
“常规”标签 |
|
| 姓 |
Sn |
|
| 名 |
Givename |
|
| 英文缩写 |
Initials |
|
| 显示名称 |
displayName |
|
| 描述 |
Description |
|
| 办公室 |
physicalDeliveryOfficeName |
|
| 电话号码 |
telephoneNumber |
|
| 电话号码:其它 |
otherTelephone |
多个以英文分号分隔 |
| 电子邮件 |
Mail |
|
| 网页 |
wWWHomePage |
|
| 网页:其它 |
url |
多个以英文分号分隔 |
| |
“地址”标签 |
|
| 国家/地区 |
C |
如:中国CN,英国GB |
| 省/自治区 |
St |
|
| 市/县 |
L |
|
| 街道 |
streetAddress |
|
| 邮政信箱 |
postOfficeBox |
|
| 邮政编码 |
postalCode |
|
| |
“帐户”标签 |
|
| 用户登录名 |
userPrincipalName |
形如:S1@mcse.com |
| 用户登录名(以前版本) |
sAMAccountName |
形如:S1 |
| 登录时间 |
logonHours |
|
| 登录到 |
userWorkstations |
多个以英文逗号分隔 |
| 用户帐户控制 |
userAccountControl |
启用:512,禁用:514, 密码永不过期:66048 |
| 帐户过期 |
accountExpires |
|
| |
“配置文件”标签 |
|
| 配置文件路径 |
profilePath |
|
| 登录脚本 |
scriptPath |
|
| 主文件夹:本地路径 |
homeDirectory |
|
| 连接 |
homeDrive |
|
| 到 |
homeDirectory |
|
| |
“电话”标签 |
|
| 家庭电话 |
homePhone |
若是其它,在前面加other。 |
| 寻呼机 |
Pager |
如:otherhomePhone。 |
| 移动电话 |
mobile |
若多个以英文分号分隔。 |
| 传真 |
FacsimileTelephoneNumber |
|
| IP电话 |
ipPhone |
|
| 注释 |
Info |
|
|
“单位”标签 |
|
| 职务 |
Title |
|
| 部门 |
Department |
|
| 公司 |
Company |
|
| |
“隶属于”标签 |
|
| 隶属于 |
memberOf |
用户组的DN不需使用引号, 多个用分号分隔 |
|
“拨入”标签 |
|
| 远程访问权限(拨入或VPN) |
msNPAllowDialin |
|
| 允许访问 |
值:TRUE |
|
| 拒绝访问 |
值:FALSE |
|
| 回拨选项 |
msRADIUSServiceType |
|
| 由呼叫方设置或回拨到 |
值:4 |
|
| 总是回拨到 |
msRADIUSCallbackNumber |
|
|