快速修改Domino用户 http密码(一)

快速修改Domino用户 http密码(一)

作为一个Domino的管理员,日常最基本的工作就是创建、删除、密码重置工作,前期我已经实现了批量删除用户的操作,今天主要介绍如何快速重置Domino用户的Http密码;

那什么叫快速呢,当然有很多人理解快速的概念就是立刻、马上,但是今天来做的是5分钟的时间称呼快速,因为我们大家都知道如果环境内有多台Domino服务器的话,然后有很多用户注册在不同的服务器上,在某个服务器上修改完密码后,如果想让用户密码生效就是通过复制进行操作,或者默认是2个小时后生效,但是今天通过开发的数据库更改完密码后5分钟生效,具体见下:

环境介绍:

Server1:Dsgrd-mail01.dsgrd.com

Server2:Dsgrd-mail02.dsgrd.com

然后在不同的服务器上注册不同的用户:

image

我们接下来需要做的是创建一个新的空白数据库然后通过Desinger工具打开进行编辑

image

数据库名称自定义

image

然后通过Desinger工具打开进行编辑:

创建一个试图,然后编辑试图,编辑试图script

image

脚本内容具体见下:

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密码按钮

image

输入需要更改密码的用户,用户格式为user/domain

image

输入修改用户的密码

image

再次输入确认密码

image

修改完成

image

因为更改的事mail12,mail12用户在Dsgrd-mail02.dsgrd.com上注册了,5分钟后用户通过密码登陆

image

你可能感兴趣的:(快速修改Domino用户 http密码(一))