批量添加域用户
一、 AD用户帐户复制
1、在“AD域和计算机”中建一个作为样板的用户,如S1。
2、设置相关需要的选项,如所属的用户组、登录时间、用户下次登录时需更改密码等。
3、在S1上/右键/复制,输入名字和口令。
说明:
1、 只有AD域用户帐户才可以复制,对于本地用户帐户无此功能。
2、 帐户复制可将在样板用户帐户设置的大多数属性带过来。具体如下:
选项卡
复制到新用户账号的属性
常规
地址
除了“街道”之外所有
账户
除了“用户登录名”之外所有
配置文件
除“配置文件路径”和“主文件夹”。欲复制它们,应该使用%username%变量,如:file://server/share/%username
电话
单位
除了“职务”之外所有
隶属于
全部
拨入
无,将默认值应用于新账户
环境
无,将默认值应用于新账户
会话
无,将默认值应用于新账户
远程控制
无,将默认值应用于新账户
终端服务配置文件
无,将默认值应用于新账户
二、比较csvde与ldifde
csvde: 逗号分隔符目录交换工具
允许您使用CSV 源文件将新对象导入到 Active Directory 中;此外,该工具还提供了将现有对象导出到 CSV 文件的功能。CSVDE 不能用于修改现有对象;在导入模式下使用此工具时,您只能创建全新的对象。
使用CSVDE 导出现有对象的列表相当简单。将 Active Directory 对象导出到名为 ad.csv 的文件,方法如下:
csvde –f ad.csv
–f 开关表示后面为输出文件的名称。但是您必须注意,根据环境的不同,此基本语法可能会生成不实用的大型输出文件。要将此工具限制为仅导出特定组织单位 (OU) 中的对象,可以将语句修改为如下形式:
csvde –f UsersOU.csv –d u=Users,dc=contoso,dc=com
进一步假定您只对将用户对象导出到CSV 文件感兴趣。如果是那样的话,您可以添加 –r 开关和 –l 开关,前者允许指定轻型目录访问协议 (LDAP) 筛选器进行搜索,后者可以限制导出的属性的数量(请注意以下所有内容位于一行):
csvde –f UsersOnly.csv –d u=Users,dc=contoso,dc=com –r
    "(&(objectcategory=person)(objectclass=user))" –l
    DN,objectClass,description
通过–i 开关,您可以将对象从源 CSV 文件导入到 Active Directory。但是,使用 CSVDE 创建用户对象存在一个关键限制:不能使用 CSVDE 设置用户密码。因此,应该避免使用 CSVDE 创建用户对象。
ldifde:轻型目录访问协议,互换格式目录交换
与CSVDE 相比,此工具更强大,更灵活。除了可以创建新对象外,LDIFDE 还可以修改和删除现有对象,甚至扩展 Active Directory 架构。LDIFDE 虽然具有灵活性,但为了实现这种灵活性却必须要使用扩展名为.ldf 的 LDIF 文件作为输出文件,这种文件与简单的 CSV 文件相比,格式更复杂。(只需少量操作就可以配置好用户密码,我稍后将对此进行介绍。)
我们从一个简单的示例开始,将某个OU 中的用户导出到 LDF 文件中(请注意以下所有内容位于一行):
ldifde -f users.ldf -s DC1.contoso.com -d "ou=UsersOU,dc=contoso,dc=com"
       –r "(&(objectcategory=person)(objectclass=user))"
与大多数命令行工具一样,您可以通过运行LDIFDE /? 命令找到 LDIFDE 开关的完整说明。图 1介绍了我在此使用过的开关。(注意 CSVDE 和 LDIFDE 命令的开关实际上是相同的。)
LDIFDE 的真正功能在于创建和操作对象。然而,进行此操作之前,您首先需要创建一个输入文件。以下语句创建两个名为afuller 和 rking 的用户帐户;要创建该输入文件,请在记事本(或者您喜欢的纯文本编辑器)中输入以下文本,然后将其保存为 NewUsers.ldf:
dn: CN=afuller, U=UsersOU, DC=contoso, DC=com
changetype: add
cn: afuller
objectClass: user
samAccountName: afuller

dn: CN=rking, U=UsersOU, DC=contoso, DC=com
changetype: add
cn: rking
objectClass: user
samAccountName: rking

创建完该文件后,请运行以下命令:
ldifde –i –f NewUsers.ldf –s DC1.contoso.com
您可能会猜到,此处使用的唯一新开关-i 表明这是一项导入操作而非导出操作。如果要修改或删除现有对象,不必更改 LDIFDE 命令的语法;相反,您应该修改 LDF 文件中的内容。要更改用户帐户的说明字段,请创建名为 ModifyUsers.ldf 的文本文件。
您可以通过运行与之前相同的LDIFDE 命令语法,在 -f 开关后面指定新的 LDF 文件名来导入更改。用于删除对象的LDF 格式更简单;要删除一直使用的用户,请创建一个名为 DeleteUsers.ldf 的文件,然后输入以下内容:
dn: CN=afuller U=UsersOU, DC=contoso, DC=com
changetype: delete
 
dn: CN=rking, U=UsersOU, DC=contoso, DC=com
changetype: delete
注意,与CSVDE 不同,LDIFDE 能够配置用户密码。不过,在为用户帐户配置 unicodePWD 属性之前,必须在域控制器上配置安全套接字层/传输层安全性 (SSL/TLS) 加密。
而且,LDIFDE 能够创建和修改任何类型的 Active Directory 对象,并不仅限于用户帐户。例如,下面的 LDF 文件可在 contoso.com 林的架构中创建名为 EmployeeID-example 的自定义架构扩展:
dn: cn=EmployeeID-example,cn=Schema,
cn=Configuration,dc=contoso,dc=com
changetype: add
adminDisplayName: EmployeeID-Example
attributeID: 1.2.3.4.5.6.6.6.7
attributeSyntax: 2.5.5.6
cn: Employee-ID
instanceType: 4
isSingleValued: True
lDAPDisplayName: employeeID-example
由于LDIFDE 文件使用工业标准 LDAP 文件格式,因此需要修改 Active Directory 架构的第三方应用程序会经常提供 LDF 文件,您可以在将这些更改应用于生产环境之前使用这些文件检查和批准更改。
三、以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>”
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@benet.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不需要使用引号,多个用分号分隔
“拨入”标签
远程访问权限
(拨入或×××)
msNPAllowDialin
(允许访问值为:TRUE ;拒绝访问值为:FALSE)
回拨选项
msRADIUSServiceType
(由呼叫方设置或回拨到 值:4)
总是回拨到
msRADIUSCallbackNumber
说明:有些标签平常极少用到,就没有试。如果需要可以自己导出来看一下,像一些复杂的字段,如:userParameters,还是用粘贴吧。
6、导入到AD,键入 csvde –i –f my.csv –j c:\
说明:-j用于设置日志文件位置,默认为当前路径。此选项可帮助用户在导入不成功时排错。
  有一点大家必须明确的是:我们在这里做AD域用户帐户复制、做AD域用户帐户的导出/导入,并不能代替“AD备份和恢复”。我们只是在批量创建用户帐号,帐号的SID都是重新生成的,权利权限都得重新设才行。(当然我们可以把导入的用户,通过memberof字段设到一些用户组中去,使它有权利权限。但这与利用“AD备份和恢复”到原状,完全是两回事)。 作为网管,有时我们需要批量地向AD域中添加用户帐户,这些用户帐户既有一些相同的属性,又有一些不同属性。如果逐个添加、设置的话,十分地麻烦。一般来说,如果不超过10个,我们可利用AD用户帐户复制来实现。如果再多的话,我们就应该考虑使用csvde.exe或ldifde.exe来减轻我们的工作量了。  
除了用于执行批量导入和导出操作的工具外,Windows Server 2003 还包括一个内置工具集,您可以使用它来创建、删除和修改各种 Active Directory 对象,还可以对符合特定条件的对象执行查询。(请注意 Windows 2000 Active Directory 并不支持这些工具,如 dsadd、dsrm、dsget 和 dsquery 等。)

dsadd
Dsadd 用于在特定的目录分区上创建Active Directory 对象类的实例。这些类包括用户、计算机、联系人、组、组织单位和配额。Dsadd 具备一个由下列内容组成的通用语法:
dsadd <ObjectType> <ObjectDistinguishedName> attributes
请注意,您创建的每个对象类型都有一组特定的开关,它们与该类型的属性相对应。以下命令创建一个填充了各种属性的用户对象(请注意以下所有内容位于一行):
dsadd user cn=afuller,ou=IT,dc=contoso,dc=com
–samID afuller –fn Andrew –ln Fuller –pwd *
-memberOf cn=IT,ou=Groups,dc=contoso,dc=com "cn=Help Desk,ou=Groups,
dc=contoso,dc=com"
–desc "Marketing Director"
–memberOf 开关要求指定应添加该用户的每个组的完整可分辨名称(DN);如果要将用户添加到多个组,您可以添加多个 DN 并用空格分隔开。
任何元素如果包含空格(如Help Desk 组的 DN),则该元素应该括在双引号中。如果某个元素含有反斜杠(如称为 IT\EMEA 的 OU),则必须输入两次反斜杠:IT\\EMEA。(这些要求适用于所有的 ds* 工具。)
如果使用-pwd * 开关,则系统将提示您在命令行输入用户密码。您可以在该命令中指定密码 (-pwd P@ssword1),但是这样会在屏幕上或该命令嵌入到的任何文本或脚本文件中以纯文本形式显示该密码。
同样,您可以使用下列两个命令创建组对象和OU:
dsadd computer cn=WKS1,ou=Workstations,dc=contoso,dc=com
dsadd ou "ou=Training OU,dc=contoso,dc=com"
Dsmod
Dsmod 用于修改现有对象,它的使用方法与dsadd 非常相似,您需要根据要修改的对象的类型使用不同的子菜单和语法。以下 dsmod 语句会更改用户的密码并修改该用户的帐户,因此在下次登录时系统会提示该用户更改为新的密码:
dsmod user "cn=afuller,ou=IT,dc=contoso,dc=com" –pwd P@ssw0rd1
    –mustchpwd yes
要了解这些开关多么相似,您可以查看要用于创建此用户并配置了相同属性的dsadd 语法:
dsadd user "cn=afuller,ou=IT,dc=contoso,dc=com" –pwd P@ssw0rd1
    –mustchpwd yes
您可以清晰地看到,如果知道dsadd 中用于创建对象的开关,则可以使用那些相同的开关修改 dsmod 用户。

dsrm
dsrm 与dsadd 是相逆的;正如您可能想到的,使用此工具可从命令行中删除对象。基本的 dsrm 语法相当简明:只需输入 dsrm 后输入要删除对象的可分辨名称即可,如下所示:
dsrm cn=WKS1,ou=Workstations,dc=contoso,dc=com
默认情况下,dsrm 会提示“确实要删除此对象吗?”,此时键入 Y,然后按 Enter。您可以使用 –noprompt 开关禁止显示此提示,但很明显,这样做无法在删除对象之前确认所选对象是否正确。如果要删除容器对象(即,在其内部可能包含其他对象的组织单位),另外两个开关可能会很有用。以下命令将删除 TrainingOU 组织单位及其内部包含的所有对象:
dsrm u=TrainingOU,dc=contoso,dc=com –subtree
以下命令将删除包含在TrainingOU 中的所有子对象,但保留组织单位对象本身:
dsrm u=TrainingOU,dc=contoso,dc=com –subtree
–exclude

转载于:https://blog.51cto.com/fishvsfrog/761492

批量添加AD账号(三)相关推荐

  1. 批量添加AD账号(一)

    批量添加windows 2003 AD账号,网上有好几种方法.本人收集了几篇. 主要涉及到的命令有: 1.dsadd 2.csvde 依次记录,以备以后用. 下面是第一种: 第一部分 情景:新建域环境 ...

  2. 批量创建AD账号添加SMTP、Manager、extensionAttribute4属性

    最近公司收购新工厂需要大批量创建AD账号,由于AD的自定义属性比较多需要添加proxyaddress邮件主SMP地址.直线经理Manager属性.extenstionAttribute4属性 user ...

  3. 批量修改AD账号Account

    在企业环境中,往往有许多因素需要修改AD登录账号名称,通过表现在:(1)AD账号与邮箱集成号两套账户变成一套,改AD登录账号:(2)AD与OA集成,改AD账户:(3)应用系统的整合,也可能会出现此种需 ...

  4. PowerShell 批量禁用AD账号并记录

    因原始版本包含AD组织信息,以下为删改版本,仅做个人备忘 较好判断禁用账号是否重名,避免禁错用户 记录对用户操作的日志,删除组,移动OU,修改备注等 Write-Host @" # # na ...

  5. 批量修改AD账号的UPN后缀(同适用于解决外网自动配置Exchange邮箱)

    背景: 公司内网AD环境是adtest.intra,对外使用的域名是adtest.cn,这样导致有一些问题,比如:不能通过UPN在AD中认证. 解决思路: 更给AD账户的UPN后缀,使后缀统一变为ad ...

  6. 【原创】批量修改AD账号的UPN后缀(同适用于解决外网自动配置Exchange邮箱)

    背景: 公司内网AD环境是adtest.intra,对外使用的域名是adtest.cn,这样导致有一些问题,比如:不能通过UPN在AD中认证. 解决思路: 更给AD账户的UPN后缀,使后缀统一变为ad ...

  7. AD域中如何批量导入导出账号

    本帖出现于51CTO论坛中,是一位网友自己的实际工作经历.是在AD域中如何批量导入导出账号.工作上有一个需求,需要批量的导入一些账号,并要求有一些属性,比如:部门,职位,分机等! 如果您有兴趣也可以去 ...

  8. 服务器添加管理员隐藏账号,绝招:隐藏管理员账号 三分钟搞定

    绝招:隐藏管理员账号 三分钟搞定 更新时间:2007年07月30日 11:30:59   作者: 对regedit.exe大家都很熟悉,但却不能对注册表的项键设置权限,而regedt32.exe最大的 ...

  9. Excel批量在单元格前添加文本的三种方法

    Excel批量在单元格前添加文本的三种方法 在日常工作中我们可能要批量给单元格添加文本,下面就给大家介绍一下添加文本的三种方法. 方法一. 1.如下图,是某老师录入的学生成绩表,但是他在录入忘了录入年 ...

最新文章

  1. npm should be run outside of the Node.js REPL, in your normal shell
  2. MPB:农科院牧医所赵圣国组-微生物超高分子量DNA提取方法
  3. linux+arch系统下载,Linux
  4. 笑傲江湖手3D游服务器端文件,新笑傲江湖手游7月2日部分服务器数据互通预告...
  5. cron表达式在线测试
  6. 启动/关闭Spring boot服务脚本
  7. 拳王虚拟项目公社:说一个合法正规兼职创业,副业虚拟资源项目
  8. android简易跑马灯
  9. Safari导入Chrome书签
  10. fckeditor for java_FCKeditor最新版本2.4.1 for java 教程
  11. 苹果logo_苹果 ARM Mac 发布会独特标志 Logo 亮相
  12. 思科 mds 虚拟服务器,保护、扩展、简化,思科MDS9000系列交换机,刷新存储网络新标准!...
  13. 视觉显著性python_OpenCV—python 图像显著性检测算法—HC/RC/LC/FT
  14. 猿创征文|云原生|kubernetes学习之多账户管理--权限精细化分配放啊(两种方式-sa和用户)
  15. PHP和Socket简介
  16. webrequest、httpwebrequest、webclient、HttpClient 四个类的区别?
  17. python中的美元符号_Python学习笔模式匹配与正则表达式之插入字符和美元字符
  18. Involution论文解读:从卷积变换出的神经网络新算子
  19. 云计算技术基础【2】
  20. 百度SEO核心优化之关键词相关匹配

热门文章

  1. CodeForces786B 线段树 + 最短路
  2. 洛谷 1359 租用游艇
  3. Spring AOP概念理解 (通俗易懂)【转】
  4. 【bzoj3524】Couriers——主席树
  5. poj 1085 Triangle War 博弈论+记忆化搜索
  6. mysql修改最后一条记录删除第一条记录
  7. 解决Spring的java项目打包后执行出现“无法读取方案文档...“、“原因为 1) 无法找到文档; 2) 无法读取文档; 3) 文档的根元素不是...”问题
  8. 该文件夹包含名称过长 解决方案
  9. 关于移动端上下滑动卡顿不流畅现象的解决方案
  10. 编译时异常和运行时异常的区别