批量地向AD域中添加用户帐户

Posted on

批量地向AD域中添加用户帐户

批量地向AD域中添加用户帐户(上)

作为网管,有时我们需要批量地向AD域中添加用户帐户,这些用户帐户既有一些相同的属性,又有一些不同属性。如果逐个添加、设置的话,十分地麻烦。一般来说,如果不超 过10个,我们可利用AD用户帐户复制来实现。如果再多的话,我们就应该考虑使用csvde.exe或ldifde.exe来减轻我们的工作量了。   一、 AD用户帐户复制 1、在“AD域和计算机”中建一个作为样板的用户,如S1。 2、设置相关需要的选项,如所属的用户组、登录时间、用户下次登录时需更改密码等。 3、在S1上/右键/复制,输入名字和口令。 说明: 1、 只有AD域用户帐户才可以复制,对于本地用户帐户无此功能。 2、 帐户复制可将在样板用户帐户设置的大多数属性带过来。具体如下: 选项卡 复制到新用户帐号的属性 常规 无。 地址 除了“街道”之外所有 帐户 除了“用户登录名”之外所有 配置文件 除“配置文件路径”和“主文件夹”。欲复制它们,应该使用 %username%变量,如:file://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  “环境”、“会话”、“远程控制”、“终端服务配置文件”、“COM+”标签 说明:这些标签,平常极少用到,我也没试。如果需要可以自己导出来看一下,像一些复杂的字段,如:userParameters,还是用粘贴吧 6、导入到AD,键入 csvde –i –f my.csv –j c:\ 说明:-j用于设置日志文件位置,默认为当前路径。此选项可帮助用户在导入不成功时排错。 有一点大家必须明确的是:我们在这里做AD域用户帐户复制、做AD域用户帐户的导出/导入,并不能代替“AD备份和恢复”。我们只是在批量创建用户帐号,帐号的SID都是重新生成的,权利权限都得重新设才行。(当然我们可以把导入的用户,通过memberof字段设到一些用户组中去,使它有权利权限。但这与利用“AD备份和恢复”到原状,完全是两回事)。 作为网管,有时我们需要批量地向AD域中添加用户帐户,这些用户帐户既有一些相同的属性,又有一些不同属性。如果逐个添加、设置的话,十分地麻烦。一般来说,如果不超 过10个,我们可利用AD用户帐户复制来实现。如果再多的话,我们就应该考虑使用csvde.exe或ldifde.exe来减轻我们的工作量了。

一、 AD用户帐户复制 1、在“AD域和计算机”中建一个作为样板的用户,如S1。 2、设置相关需要的选项,如所属的用户组、登录时间、用户下次登录时需更改密码等。 3、在S1上/右键/复制,输入名字和口令。 说明: 1、 只有AD域用户帐户才可以复制,对于本地用户帐户无此功能。 2、 帐户复制可将在样板用户帐户设置的大多数属性带过来。具体如下: 选项卡 复制到新用户帐号的属性 常规 无。 地址 除了“街道”之外所有 帐户 除了“用户登录名”之外所有 配置文件 除“配置文件路径”和“主文件夹”。欲复制它们,应该使用 %username%变量,如:file://server/share/%username 电话 无 单位 除了“职务”之外所有。 隶属于 全部 拨入 无,将默认值应用于新帐户。 环境 无,将默认值应用于新帐户。 会话 无,将默认值应用于新帐户。 远程控制 无,将默认值应用于新帐户。 终端服务配置文件 无,将默认值应用于新帐户。 二、比较csvde与ldifde csvde逗号分隔符目录交换 三、以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 “环境”、“会话”、“远程控制”、“终端服务配置文件”、“COM+”标签 说明:这些标签,平常极少用到,我也没试。如果需要可以自己导出来看一下,像一些复杂的字段,如:userParameters,还是用粘贴吧 6、导入到AD,键入 csvde –i –f my.csv –j c:\ 说明:-j用于设置日志文件位置,默认为当前路径。此选项可帮助用户在导入不成功时排错。

希望本站内容对您有点用处,有什么疑问或建议请在后面留言评论
转载请注明作者(RobinChia)和出处 It so life ,请勿用于任何商业用途