根据Firstname和Lastname更新AD中用户帐号Email的服务器脚本

因为工作需要,要给AD中每个用户添加一个email地址。我们公司用的是Lotus Notes,和用Exchange的公司不同,AD中email地址字段是空的。

不过,好在我们的email是有规律的,都是Firstname.Lastname@mycompany.com的这种形式。所以就简单写了一个script,读取用户帐号的Firstname和Lastname值,然后合并成为email地址,再写入AD中的这个用户帐号中去。

【功能】

(1)读取FirstName和LastName,合并成Firstname.Lastname@mycompany.com,再回写入email这个字段中

(2)如遇到FirstName或者Lastname是空,则跳过该帐号,并在屏幕上回显出这个帐号。

(3)全部修改完毕后,显示一共被更新过的帐号总数。

(4)该script对某一个指定OU下的所有帐号依次进行自动操作。

【用法】

(1) 将下面的script复制到文本文件,取名为UpdateEmail.vbs

(2) 修改你们公司的域名,和你们公司存放用户帐号的OU,并保存

(3) 然后打开一个命令行窗口,键入以下命令

cscript UpdateEmail.vbs

【免责声明】

这个script是本人所写,请先在测试环境下进行调试,一切正常后再使用。本人对于使用过程中造成的数据丢失和损坏不承担任何责任。

'======================Start========================

' Modify User Email by FirstName.LastName@mycompany.com

Option Explicit

Dim strOU, strDomain, strADsOU

Dim objOU, objUser, objRootDSE

Dim i

Dim charFirstName, charLastName, charEmail

On Error Resume Next

'===========================================

'Type contrainer here. Format is "ou=xxx,ou=yyy"

'===========================================

strOU = "OU=People,OU=AllUsers"

Set objRootDSE = GetObject("LDAP://rootDSE")

strDomain = objRootDSE.Get("defaultNamingContext")

strADsOU = "LDAP://" & strOU & "," & strDomain

' Connect to ou

Set objOU = GetObject(strADsOU)

WScript.Echo "The emails will be added into " & objOU.Get("name") & " OU"

ObjOU.Filter= Array("user")

i=0

WScript.Echo ""

WScript.Echo "The following AD accounts don't have FirstName or LastName:"

For Each objUser in objOU

charFirstName = ""

charLastName = ""

charFirstName = objUser.Get("givenName")

charLastName = objUser.Get("sn")

If (charFirstName = Null) Or (charFirstName = "") Or (charLastName = Null) _

Or (charLastName = "") Then

WScript.Echo objUser.cn

Else

charEmail = charFirstName+"."+charLastName+"@mycompany.com"

objUser.Put "mail", charEmail

objUser.SetInfo

i=i+1

End If

Next

'display the count

WScript.Echo ""

WScript.Echo "Total record changed: " & i

'===================end=========================

本文出自 “delxu的Live记事本” 博客,请务必保留此出处http://delxu.blog.51cto.com/975660/276039

时间: 2024-12-31 19:06:27

根据Firstname和Lastname更新AD中用户帐号Email的服务器脚本的相关文章

删除XP系统中多余用户帐号的方法

删除XP系统中多余用户帐号的方法   方法一: 1.点击开始-运行.输入lusrmgr.msc 然后点击确定即可进入上面的操作界面了! 2.如果我们是想启用来宾账户是不需要新建账户的.我们点击控制面板.进入用户账户设置.. 3.然后进入Guest.我们点击启用来宾账户即可! 4.然后我们在登录电脑系统或者是锁屏的时候就能看到在administrative下面就会多出一个Guest账户, 这个就可以不用密码就能进入. Xp系统如何删除用户账号的具体方法二: 1.打开控制面板中的用户头像图标, 2.

用户体验设计实例:找回用户帐号功能设计

文章描述:陈皓:如何设计"找回用户帐号"功能. 因为<腾讯帐号申诉的用户体验>一文中好多人觉得腾讯申诉是世界级先进的,并让我拿出一个找回用户的帐号的功能来.本来不想写的,因为大家看看其它系统的就行的,但是,很明显有些人就是很懒,也不会思考,而且不会观察,所以,我就只好写下这篇科普性常识性的文章. 在行文之前,我得先感谢腾讯公司的至少30名员工在<腾讯帐号申诉的用户体验>一文后的回帖(我STFG(Search The Fucking Google)看到了你们使用的

如何设计“找回用户帐号”功能

因为<http://www.3lian.com/edu/2011/12-03/17078.htmlwww.3lian.com/edu/2011/12-03/17078.html>一文中好多人觉得腾讯申诉是世界级先进的,并让我拿出一个找回用户的帐号的功能来.本来不想写的,因为大家看看其它系统的就行的,但是,很明显有些人就是很懒,也不会思考,而且不会观察,所以,我就只好写下这篇科普性常识性的文章. 在行文之前,我得先感谢腾讯公司的至少30名员工在<腾讯帐号申诉的用户体验>一文后的回帖(

电子商务网站用户帐号体系思考

网页制作Webjx文章简介:网站用户的积分体系思考. 当当网前两天发来一封标题为"钻石卡会员身份即将到期"的邮件,邮件内容大致如下:     您的钻石卡会员身份将于2010年12月31日到期.截止到发信日,您在会员期间内的合格购物金额为1270.60元,到期日前再消费2617.40元,您的钻石卡身份将延期一年.     随手删掉了邮件,这样的信息对我而言没有太多价值.记得前年也出现类似的情况,当时还突击购买了一些东西,延续了钻石卡会员身份,当时被当当对钻石卡可以"部分商品在当

asp在SQL SER2k中新建帐号和给帐号权限的实现(转)

asp在SQL SER2k中新建帐号和给帐号权限的实现 发布于:2002-5-12 ' 以下为在asp中增加一个sql server2000用户函数,并为建立一个数据库,给他dbo的权限 ' ****************注意:sql server的验证方式不要选仅为windows方式, ' **************** 允许远程sql server连接 ' ****************该函数已通过测试**************************** ' 有什么问题欢迎和我交流

Gmail存高危漏洞,用户帐号可被轻松破解

日前,来自巴基斯坦的一名学生以及安全研究人员在Gmail上发现了一个高危漏洞,它可以让黑客轻松劫持任何Gmail邮箱帐号,这并不是巴基斯坦黑客第一次发现如此关键的漏洞. 众所周知,Gmail允许世界各地的用户使用多个邮件地址,并将其关联或链接到Gmail,Gmail允许用户设置转发地址(二级邮箱),这样在用户收到电子邮件的时候,他的转发邮箱也会收到相同的邮件,事实上,这两个模块是最容易受到身份认证和验证绕过攻击的.它类似于账户接管,不同的就是,黑客可以通过确认邮件的所有权来劫持Email并发送邮

4.2. 用户帐号表

用户帐号或通行证系统设计,下面以我的数库为例讲解. 我一般使用两个表 passport,profile 完成网站会员系统. 首先说说passport表,你也要以使用user或member等等命名,这个表设计尽可能地简单,不要使用过多字段.仅保存登录所必须用到的字段,如user,password,nickname,email... 登录帐号和密码做复合索引. 然后是profile表,这个表与passport是1:1关系,保存用户详细信息 这样设计可以保证海量用户登录时的速度. +---------

UNIX系统管理:创建和管理用户帐号

完成这一章,你能做以下事情: 列出建立一个用户帐号步骤 理解/etc/passwd文件的每一个字段的含义 理解/etc/group文件的每一个字段的含义 创建.修改和删除用户的帐号 启用和禁用一个用户帐号 1.1 用户与用户组 - 使用系统资源和数据 为了使用系统的资源,用户首先要登录系统,http://www.aliyun.com/zixun/aggregation/13879.html">系统管理员可以控制其它用户登录系统,可以阻未授权的用户运行程序,消耗系统资源,还可以控制其它人对存

UNIX系统管理:定制用户帐号

学完这一章,你将能够做以下事情: 列出在登录过程中读取的配置文件 更改默认的用户PATH 更改默认的用户终端类型 更改用户提示符 更改用户命令行编辑器 更改用户默认打印机 管理/etc/skel中默认的配置文件 为什么要定制用户帐号 设置用户终端类型 定制用户提示符 设置用户默认终端,定制用户PATH变量 定义一个命令行编辑器 如果只是简单地在/etc/passwd和/etc/group文件中创建条目可能不能满足用户所有需求,例如: 你可能需要定义用户的终端类型,以便应用程序可以正确地输出到用户