注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

胡益兵的博客

新的岗位,新的方向,新的使命,stem教育进行中。

 
 
 

日志

 
 

【转】用Excel函数简化批量导入AD用户及修改密码  

2012-01-30 15:02:55|  分类: 技术文锦 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

引用:一直想把单位的各种网络服务账户搞个一号通,所以这半年一直在研究ldap,寒假突击研究了openldap,但是安装后不会用,而且发现rtx3.61与其不兼容。知道windows的ad也是利用了ldap协议,而且兼容性较好:打算利用ad对rtx、勤哲、通达oa、moodle的账户进行统一管理。可惜动易、phpwind等网站平台目前还不支持ldap协议。不管怎么说已经有相当一部分可以利用ldap统一管理了。紧接就是要用添加账户的问题,看到网站有一篇批量添加的文章测试后还是不错的,特收藏。


原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://shubao.blog.51cto.com/401810/756341

近期公司的AD和Exchange项目如预期的进展还不错,赶上AD用户的批量导入,5K用户,工作量很大哦,还好无意间看到一篇blog,讲借助Excel函数简化表格的输入操作,试用了下还不错,修改后分享给大家,增加图文操作哦,原blog是没有的哦。。。,废话不多说转入正题。。。。

通过脚本的方式批量的导入AD账户,或者批量修改密码。方法很多的,网上教程也很多,不少朋友都知道,就是Windows自带的几个CMD命令。就不再过多废话这如何通过命令编辑脚本来实现这个功能了,如果真有需要,大家可以Google、Baidu一下,很多的。

今天给大家分享借助Excel的函数功能来简化脚本的编写。网上很多是直接用txt文本编辑或者借助excel表格补充完整后,转换成csv格式的。像我们公司动辄5K用户需要添加到AD中还要设置密码,用复制粘贴的方式得做无数遍啊,用岳老师的话:得找几个“表妹”来码这些个表格。。。。。。

想到很久前看到过一网友写的一文章,借助Excel函数来简化输入,于是自己试着做了下,效果还不错。。。。

首先说下用到的命令,csvde.exe和dsmod.exe,具体用法可参考微软KB库

http://support.microsoft.com/kb/327620

http://support.microsoft.com/kb/322684

简单说下csvde.exe中用到的定义值

DN,objectClass,sAMAccountName,description,userPrincipalName,displayName,userAccountControl

DN:名字标示

objectClass:组的类别

sAMAccountName:2000以前版本:也是用户登录名称的意思

description:用户描述

userPrincipalName:用户登录全程

displayName:用户登录显示的名称

userAccountControl:对账户权限进行控制,512启动, 514禁用, 66048代表永不过期

本次共用到两张表格,如下,由于图片无法全显示,已将表格上传附件

clip_image002

clip_image004

第一步批量导入AD账户。在文件的第一张表格中,绿色的区域是需要我们手动添填入信息的,主要是账户名、 OU、账户显示名称。以及描述,(注:OU一定要提前建好,关于批量OU可参考我的另一篇文章---一次批量导入OU,本次实验主要考虑到需要中文名称及工号信息,所以手动输入的较多,对于不需要这两项信息的可修改下Excel文件,只需输入账户名及OU即可,简化操作)。其他区域都是写固定格式,或者自动生成的(黄色及蓝色区域))。最后我们只需要将蓝色区域的字符内容copy到一个txt文本文件中,然后用“@”替换掉所有的“#”(函数中不支持输入@)。另外,还需要将csvde.exe值定义的那行(本文中的红色文字)放到txt文件的第一行。这样,csvde.exe所需要调用的文本,就制作完成了。

值得一提的是我们的数据来源往往都是HR部门或者相关经过整理的数据,大多数都是一个excel表格,所以我们可以直接copy到这个excel里面。这样,连一个一个敲名字都不用了。不管用户数量多少,几次全选复制就OK了。。。。

接下来要做的就是将我们这个txt文件拿到我们的域控中或者具有管理ADUC权限的计算机中,打开CMD.exe,然后执行一条命令就完成导入操作。如图所示

clip_image006

clip_image007

打开我们的ADUC就能看到我们导入的用户了。。。

第二步是修改密码。在文件的第二张表中,没有需要输入的地方,如果我们需要修改用户的密码,只要将表中的绿色区域替换成实际密码即可。然后将表二中的蓝色区域字符,copy到txt文件中。需要注意的是,我们需要将“-pwd”前面的那个逗号“,”用替换的方式一次性全部去掉。然后将这个txt文本的后缀改为.bat。最后以管理员权限运行在域控中或者具有管理ADUC权限的计算机中即可。

clip_image011

clip_image013

最后一部启用我们导入的账户即可,可以批量启用

clip_image015

clip_image016

如果我们的用户很多,如我们5K用户,bat运行的过程会持续一个相对较长的时间。尽管如此,它都能大幅度提高我们的工作效率。

最好在操作时输出一个日志文件,方便我们时候查询处理过程、排错以及核对导入的信息是否正确。

Excel文件已上传

本文出自 “叔宝” 博客,请务必保留此出处http://shubao.blog.51cto.com/401810/756341



【转】用Excel函数简化批量导入AD用户及修改密码 - hyibing - 胡益兵的博客 boy_hxm、kirin、linfj
4人
了这篇文章


附件下载:
  【转】用Excel函数简化批量导入AD用户及修改密码 - hyibing - 胡益兵的博客批量导入域用户及修改密码

 


注意:

  • 该附件下载后需要根据本单位实际情况修改相关参数。附件中“批量修改密码及首次登陆密码策略”表中生成的密码修改命令如下:

dsmod user "CN=Mike,OU=USER,OU=财务部,OU=Beijing,DC=contoso,DC=com", -pwd password -mustchpwd no

但是执行是windows2003提示错误,进过dsmod user /?查询发现命令行中DC=com"后面不应该有,将代码改成

dsmod user "CN=Mike,OU=USER,OU=财务部,OU=Beijing,DC=contoso,DC=com" -pwd password -mustchpwd no

后运行通过

 

  • 另外ad默认是有账户密码策略的,如果不关闭,会因为没有密码而被系统拒绝建立账户。关闭方法是打开“管理工具”“域安全策略”“账户策略”“密码策略”,具体设置如下图所示:
【转】用Excel函数简化批量导入AD用户及修改密码 - hyibing - 胡益兵的博客

 

  评论这张
 
阅读(484)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018