您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 批量添加AD域用户名
如何实现:1、先从人资部门取得包含员工基础信息的电子文档。2、将这些基础信息按一定的格式进行编辑,例如转换拼音,截分姓名,添加用户名后缀等,总之,除了解决重名问题外,我们不必进行任何手工录入工作。3、将编辑好的数据组成一个CSV格式文件,然后用Win2003中的CSVDE命令进行批量导入。要用到的程序:1.CSVDE.EXE包含在Win2003安装盘中,需用Expandcsvde.ex_csvde.exe将它展开后才能用。2.VisualFoxPro,随便什么版本都行,其实就是进行一些简单的字段与记录的操作,其它编程语言都能实现。3.OfficeExcel2003,这个不用说了,只要是电脑就都安装了的。准备工作:1、首先按总部要求建立“XX分部门店”和“XX分部办公区”组织单元,然后在其下新建相应的职能部门和门店组织单元。2、为了叙述方便,在D盘新建一个Adwork的目录,将CSVDE拷到里面,在VFP中也把默认目录设为它,反正这次操作时用到的文件全都放到这个目录。后面的叙述中我们就不特别指明路径了。3、由于这次建的域用户名分为两大类:门店和办公区,为了简化操作,我们的批量导入工作就分成两次进行,步骤完全一样,只是把门店/办公区的字样互换就行了。一、建立基础数据这次我们建立帐户所需的基础信息不是很多,如图五所示,一共六个字段,(如果还需要例如家庭电话、登录脚本、远程访问权限等帐户属性,按下面的方法在后面加入相应列就行了),其它的信息都是经过这些基础数据处理而来:建立图五这样的表格可比一个一个创建帐户要容易多了,最有吸引力的是可以用现成的,各个分部的人资部门都应该有包含员工姓名、职务、部门等信息的电子文档。在我们重庆分部,行政部经常不定期的发布包含所有员工的最新通讯录,那里面的资料比较全,上表六项内容都有,我就是用的通讯录作为底稿,然后在EXCEL中简单编辑一下就可以了(将其命名为AD.XLS),注意EXCEL的列设置请按照图七进行(由于列数过多,我们将该图由三张小图片纵向排列而成),一共需要16列,但只需要填H,I,J,K,M这五列,例如H列是用于填写职务的,M列是填部门的,别把顺序搞错了。另外,由于姓名汉字在帐户名中是按“姓”和“名”分开显示的,不需要完整地使用,就先将它填在P列(P列在图七中未标识)起过渡作用,转换完成了要将P列删除的。(注意姓名中字与字之间不要有空格),因此总共要填写六列,其它空列是为了占位置,就在第一行用“1”填充一下。在编辑从人资部门得到的电子文档时,要特别注意到行与行之间是否有重叠和合并单元格,我曾在这方面走了些冤枉路,造成转换文档格式后所有信息全部错位。例如图六中表1这种情况是不允许的,必须要做到行列一一对应,结构清晰。同志们一定要引起重视并反复检查,血淋淋的教训啊,不然基础数据错了,后面的工作也就毫无意义了。表1有两个错误,一是A2:A4单元格被合并了,二是B列的姓名中有空格二、数据转换理解字段含义:我们先来看看一个标准的CSV格式文件,如图七所示:上图共同描述“李黎”这个人的帐号信息,它一共由15列(字段)构成,第一行的各列为字段名,第二行为字段值,如Title字段的值为“人事培训专员”,可以看出,其它的列如Dn、userPrincipalName、Displayname等等字段都可以从最基础的六列数据演变而成。1、处理拼音A:将姓名转换为全拼:如果手工录入,估计光是这一项就足够让我们头痛了,特别是非北方语系的IT同事,可能稍不注意就搞成了方言拼音。这时,我们可以在网上搜索“汉字转换拼音”关键字,例如网站就具有这个功能,先在EXCEL中,将我们刚才建立的AD.XLS的P列(姓名列)先点排序,然后进行整列复制,转到上述网站,再粘贴转换成拼音,如图八所示:记得要把“中文字之间加空格”这一栏勾上,与上面说的汉字姓名不一样,拼音要加上空格,例如吴涛的拼音是“wutao”而不能是“wutao”。接下来把拼音栏全选,然后打开记事本粘贴进去,再检查一下是否每个字的拼音之间都有空格,保存为pinyin.txt并退出。B:首字母大写与拼音合并、导入在这次的工作要求中,登录名就是姓名全拼,一个规范的登录名如HeJunFeng有两个特点,一是中间没有空格,二是每个字的第一个字母大写,以便于拼读。因此我们要对拼音进行处理,让它从“hejunfeng”转换为“HeJunFeng”,其步骤如下:1:打开VFP,在命令窗口中键入createmp(新建一个temp表,设四个字段,字段名分别为a,b,c,d类型为字符型,除D字段长度为30外,其它均为10)appefrompinyin.txtdeliwithblank&导入我们刚才保存的pinyin.txt文本文件这样,就将“hejunfeng”这组字符分别以空格为界线,分在了a,b,c三个字段中,如图九所示:2:转换首字母为大写:replawithupper((left(a,1)))+subst(a,2,10)allreplbwithupper((left(b,1)))+subst(b,2,10)allreplcwithupper((left(c,1)))+subst(c,2,10)all3:合并拼音:Repldwithalltrim(a)+alltrim(b)+alltrim(c)all然后用brow命令查看一下,如图十所示,D字段就是我们想要的用户帐户名与图九与图十对比看一下,更能明白转换后的效果。4:导出为XLS文件继续在VFP命令窗口中键入:Copytotemp.xlsxls&将转换后的结果导出为temp.xls文件5:与姓名的汉字对应用EXCEL同时打开ad.xls和temp.xls,将temp.xls中的D列全选粘贴到ad.xls中的C列中。然后检查是否和姓名(P列)相对应,是否有错位的现象,检查方法很简单,看第一行和最后一行是否匹配。只要在粘贴前没有对这两个XLS文件进行排序之类的操作,应该是没问题的。6、处理重名这一步没什么高科技含量,但很重要,不然导入时系统老是报错,会严重影响心情的。我们只需将ad.xls中的C列按排一下序,全部浏览一遍,有没有重名就一目了然了,然后按总部的命名规则进行重命名即可。2、在VFP进行数据编辑1、经过重复名处理后,将AD.XLS另存为ad_csv.csv格式文件(在“保存类型”下拉列表中选择CSV类型)另存前只保留BOOK1工作表,BOOK2和BOOK3要删除掉。EXCEL还会有兼容性提示,不管它,点“是”。2、打开VFP,用CREA命令创建一个名为ad_vfp.dbf的表,一共16个字段,为了简便,字段名依次为A,B,…….一直到P,类型都为字符型,长度除A字段为150以外,其它都设为50。3、在命令窗口中输入appefromad_csv.csvcsv,将ad_csv.csv这个文件中导入数据到ad_vfp表中,最后的csv代表导入的类型。成功后在VFP最左下方有提示“X条记录已添加”4:设置用户登录名格式1:形如:HeJunFeng-CQ(在全拼后面加上代表各分部的后缀,重庆分部为CQ)Replcwithalltrim(c)+”-cq”all5:设置用户登录名格式2:形如:HeJunFeng-cq@gome.incRepldwithalltrim(c)+”gome.inc”all6:设置显示名称,形如:HeJunFeng-cq(何俊锋)Replgwithalltrim(c)+”(“+alltrim(p)+”)”all7:设置姓和名两个字段,其来源于预先录入的姓名字段P,只是把它拆开,方法是截取第一个字作为姓,后面的字作为名(注意,我们以姓名最多三个字为例,如果是复姓,需调整下面语句的值。)replewithleft(p,2)all&截取姓replfwithsubst(p,3,4)all&截取名8:设置用户所属的组类别,全部设到user组内:Replbwith“user”all9:设置N字段的值,它是用于控制帐户的状态,默认(即不指定时)用户帐户为禁用。启用填512,禁用填514,我们把它的值设为空:Replnwith“”all10:现在还剩下一个字段没处理,就是第一个字段A,我们先简单介绍一下其包含的内容的意思:如图七所示:cn=LiLi-cq(李黎)是帐户显示的名称ou=北碚店,ou=重庆分部门店,ou=重庆分部,ou=西部大区表示这个帐户所在的层次结构,从低到高排列(ou是指组织单元,与我们所建立的组织单元结构相对应)dc=gome,dc=inc表示帐户所在的AD域,与OU相类似,假设gome.inc下还有子域cq,则写为dc=cq,dc=gome,dc=inc理解了这些之后,我们看得出来其实就是已有信息的组合,只是让计算机自动编辑就行了,另外,前面讲到,我们有分别属于门店和办公区的两类帐户名,这里我们以导入门店类的用户名为例:继续在VFP命令窗口中输入Replawith“cn=”+alltrim(g)+”,ou=”+alltrim(m)+”,ou=重庆分部门店,ou=重庆分部,ou=西部大区,dc=gome,dc=inc”all通过这一步就自动取得了显示名称和这个帐户直属的组织单元名,实现了如图七所示的DN字段内容,如果是创建办公区的用户名,则改为ou=重庆分部办公区。到现在为止,基本上建帐户的必要信息就都有了。如果你还想再完善一下,例如加上地址,公司名等等就简单多了,新增几个相应字段即可。另外,要获得更完整的字段信息,可在DOS状态下输入:D:\adwork\Csvde–d“ou=物流部,ou=重庆分部办公区,ou=重庆分部,ou=西部大区,DC=gome,DC=INC”–r(“objectclass=user)”–ftemp.csvOU后面的组织单元名请自行根据情况更改,导出的文件名为temp.csv,可用EXCEL打开,格式如同图七所示,通过它可以更清晰地了解到各个字段的含义。三、用CSVDE批量导入1、经过上述步骤后,所有信息还保存在VFP数据表中,最后我们还要导出为CSV格式文件,方法是在VFP中键入:copytoad_end.csvcsv。2、由于我们在前面为了方便,所有的字段名只是简单地写为A,B,C等,现在就要把它改回来了,用EXCEL打开刚才建立的ad_end.csv,在第一行插入新行,依次按图七所示在A1,B1,C1……的单元格中填写实际字段名,如A1单元格填dn,B1单元格填objectclass,C1单元格填sAMAccountName,以此类推。由于字段名很长,强烈建议你直接从下面复制粘贴各字段名,以免拼写出错。其它字段请自行考虑添加,例如我对重庆分部的帐户就额外加了St、L、streetAddress、ipPhone字段,还在固定电话号码前自动加上了区号。另外,类似于“公司名”这类适用于所有用户的字段,不如就在EXCEL中新建相应列,然后整列复制,简单直观,就没必要像本文这样处理了。限于篇幅,我们仅列出部分这次建用户名所需要的字段名及其代表的含义:姓Sn名Givenname显示名称displayName办公室:physicalDeliveryOfficeName电话号码:telephoneNumber省/自治区:St市/县:L街道:streetAddress用户登录名:userPrincipalName形如:HeJunFeng-CQ@gome.inc用户登录名(以前版本)sAMAccountName形如:HeJunFeng-CQ用户帐户控制userAccountControl启用:512,禁用:514,家庭电话homePhone若是其它,在前面加other。移动电话mobile传真FacsimileTelephoneNumberIP电话ipPhone职务Title部门Department公司Company3、删除P列(姓名字段),因为我们已经将姓名截分出来了。不再需要这一列4、经过这些修改后,再保存一次。5、用
本文标题:批量添加AD域用户名
链接地址:https://www.777doc.com/doc-4195007 .html