因为工作需要,要给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=========================
复制代码 http://delxu.blog.51cto.com/975660/276039 |