作为一个Domino的管理员,日常最基本的工作就是创建、删除、密码重置工作,前期我已经实现了批量删除用户的操作,今天主要介绍如何快速重置Domino用户的Http密码;
那什么叫快速呢,当然有很多人理解快速的概念就是立刻、马上,但是今天来做的是5分钟的时间称呼快速,因为我们大家都知道如果环境内有多台Domino服务器的话,然后有很多用户注册在不同的服务器上,在某个服务器上修改完密码后,如果想让用户密码生效就是通过复制进行操作,或者默认是2个小时后生效,但是今天通过开发的数据库更改完密码后5分钟生效,具体见下:
环境介绍:
Server1:Dsgrd-mail01.dsgrd.com
Server2:Dsgrd-mail02.dsgrd.com
然后在不同的服务器上注册不同的用户:
我们接下来需要做的是创建一个新的空白数据库然后通过Desinger工具打开进行编辑
数据库名称自定义
然后通过Desinger工具打开进行编辑:
创建一个试图,然后编辑试图,编辑试图script
脚本内容具体见下:
Sub Click(Source As Button)
Dim session As New notessession
Dim db As notesdatabase
Set db = session.currentdatabase
Dim doc As notesdocument
Dim username As NotesName,username1 As NotesName
userabbr = Inputbox("要修改谁的密码??")
Set username = New NotesName(userabbr)
Dim newpwd,newpwd2 As String
newpwd = Inputbox("新密码设置成??")
newpwd2 = Inputbox("确认一下新密码??")
If Trim(newpwd) <> Trim(newpwd2) Then
Msgbox "两次密码不一致。"
Exit Sub
End If
Dim namesdb As New notesdatabase(db.Server,"names.nsf")
Dim namesview As notesview
Dim namesdoc As notesdocument
Dim ss As String
Set namesview = namesdb.getview("($VIMPeople)")
Set namesdoc = namesview.getdocumentbykey(Cstr(username.Abbreviated),True)
If namesdoc Is Nothing Then
ss="在通讯录中没有找到这个用户信息!"
Else
mstring = "@Password('" + newpwd + "')"
namesdoc.HTTPPassword = Evaluate(mstring)
Call namesdoc.save(True,True)
ss="密码修改成功,5分钟左右生效!"
End If
Msgbox ss
End Sub
保存后,拷贝到Data目录下,然后通过控制台打开
打开后单击修改http密码按钮
输入需要更改密码的用户,用户格式为user/domain
输入修改用户的密码
再次输入确认密码
修改完成
因为更改的事mail12,mail12用户在Dsgrd-mail02.dsgrd.com上注册了,5分钟后用户通过密码登陆
本文转自 高文龙 51CTO博客,原文链接:http://blog.51cto.com/gaowenlong/1189448,如需转载请自行联系原作者