Domino9下通过web方式批量重置邮箱密码

近期呢,公司有一个分布将近有700左右的人员,均需要重置一下一邮箱密码,重置密码简单,可人数众多,如果管理员通过手动的方式一个一个重置会给管理员带来很大困扰,同时密码要求重置成不不同的密码,如果将所有用户密码重置成一个密码就方便很多,所以就想到了通过web程序来实现批量重置邮箱密码,做完后,效果还不错,再此分享给大家,供参考学习。

密码重置要求是用户名+***后6位;通过web方式重置用户密码的格式要求是:用户名,密码的方式

我们首先在notes下创建一个空数据库

为数据库命名:Changepwd.nsf

创建好后,我们通过desinger打开该数据库

因为我们开始已经定义了web的排版页面,所以首先是创建一个表单

表单名称:pwd

设置自己的页面格式:具体参考见下:

<div style="display:none">
</div>
<div style="text-align:center">
<h1>邮箱密码重置系统<h1>
</div>
<table border="1" cellspacing="0" align="center" style=";text-align:center">
<tr>
<td>Tip</td>
<td>请按照以下格式进行填写:username,password</td>
</tr>
<tr>
<td>用户名+密码:</td>
<td></td>
</tr>
<tr>
<td colspan="2" align="center">
</td>
</tr>
</table>

将代码写好后,我们保存

用户名域值属性---文本、多值

输入的参数通过新行来区分

调整页面大小

添加一个重置按钮

重置密码的表单已经完成。

重置密码程序:---新建代理agtpwd

编辑程序

%REM
Agent 修改用户名密码
Created 2013-12-15 by administrator/iiosoft
Description: Comments for Agent
%END REM
Option Public
Option Declare
Dim session As NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim namesdb As NotesDatabase
Dim namesdoc As NotesDocument
Dim namesview As NotesView
Sub Initialize
On Error GoTo err_handle
Dim flag As Boolean
Dim mstring As String
Dim arr As Variant
Set session = New NotesSession
Set db = session.Currentdatabase
Set doc = session.Documentcontext
Set namesdb = New NotesDatabase("","names.nsf")
flag = False
If Not namesdb.Isopen Then
MsgBox "您无权限修改,请联系管理员"
Print |<script type=‘text/javascript‘>
alert("您无权限修改,请联系管理员"");
window.location = "http://iio-mail01.iiosoft.com/ChgUpwd.nsf/|+doc.Form(0)+|?OpenForm";
</script>|
Exit sub
End If
Set namesview = namesdb.Getview("People")
ForAll msg In doc.username
Call fnChangeUserPwd(msg)
End ForAll
Print |<a href ="/| & doc.dbpath(0) & |/pwd?openform">click here To Return |
Exit Sub
err_handle:
MsgBox session.Currentdatabase.Filepath + session.Currentagent.name
MsgBox Error
MsgBox Erl
End Sub
%REM
Sub fnChangeUserPwd
Description: Comments for Sub
%END REM
Sub fnChangeUserPwd(msg As String)
On Error GoTo eh
Dim namedoc As NotesDocument
Dim user As String
Dim pwd As String
If msg="" Then
Exit sub
End If
user=StrLeft(msg,",")
pwd=StrRight(msg,",")
Set namedoc=namesview.Getdocumentbykey(user, true)
If Not namedoc Is Nothing Then
namedoc.HTTPPassword = Evaluate(|@Password("| & pwd &|")|)
namedoc. HTTPPasswordChangeDate = Now
Call namedoc.save(True,True)
Print "change user : " & user & " password :" & pwd & " ,Rest success <br>"
Else
Print "can not find user: " & user & "<br>"
End If
Exit Sub
eh:
MsgBox Error & " " & erl
End Sub

%REM
Agent 修改用户名密码
Created 2013-12-15 by administrator/iiosoft
Description: Comments for Agent
%END REM
Option Public
Option Declare

Dim session As NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim namesdb As NotesDatabase
Dim namesdoc As NotesDocument
Dim namesview As NotesView

Sub Initialize
On Error GoTo err_handle
Dim flag As Boolean
Dim mstring As String
Dim arr As Variant
Set session = New NotesSession
Set db = session.Currentdatabase
Set doc = session.Documentcontext
Set namesdb = New NotesDatabase("","names.nsf")
flag = False
If Not namesdb.Isopen Then
MsgBox "您无权限修改,请联系管理员"
Print |<script type=‘text/javascript‘>
alert("您无权限修改,请联系管理员"");
window.location = "http://iio-mail01.iiosoft.com/ChgUpwd.nsf/|+doc.Form(0)+|?OpenForm";
</script>|
Exit sub
End If
Set namesview = namesdb.Getview("People")
ForAll msg In doc.username
Call fnChangeUserPwd(msg)
End ForAll
Print |<a href ="/| & doc.dbpath(0) & |/pwd?openform">click here To Return |
Exit Sub
err_handle:
MsgBox session.Currentdatabase.Filepath + session.Currentagent.name
MsgBox Error
MsgBox Erl
End Sub

%REM
Sub fnChangeUserPwd
Description: Comments for Sub
%END REM
Sub fnChangeUserPwd(msg As String)
On Error GoTo eh
Dim namedoc As NotesDocument
Dim user As String
Dim pwd As String
If msg="" Then
Exit sub
End If
user=StrLeft(msg,",")
pwd=StrRight(msg,",")
Set namedoc=namesview.Getdocumentbykey(user, true)
If Not namedoc Is Nothing Then
namedoc.HTTPPassword = Evaluate(|@Password("| & pwd &|")|)
namedoc. HTTPPasswordChangeDate = Now
Call namedoc.save(True,True)
Print "change user : " & user & " password :" & pwd & " ,Rest success <br>"
Else
Print "can not find user: " & user & "<br>"
End If
Exit Sub
eh:
MsgBox Error & " " & erl
End Sub

代码标记好后,我们需要通过表单来调用程序

查看服务器信息

输入需要重置的用户及密码进行重置密码

重置完成后,我们可以看见操作的log

重置后,还可以单击跳转页面进行跳转到密码重置首页

重置后,我们通过控制台来验证密码是否重置成功

注:数据库上传到页面上了,下载附件后,将扩展名更改为.7z后才能解压。

时间: 2024-08-27 10:48:08

Domino9下通过web方式批量重置邮箱密码的相关文章

Windows2003使用WEB方式修改域用户密码

1. 前言 在客户端PC加入到域的情况下,用户修改自己的帐户密码非常方便,但是在生产环境中有时候客户端没有加入到域只是用其账号登录到某些应用系统,比如邮件.Radius等,但此时又需要用户可以修改自己的密码,此时就需要通过Web方式来修改密码: Windows 2003已经自己带了修改域用户密码的相关ASP网页文件,位置在C:\WINDOWS\system32\inetsrv\iisadmpwd中(在安装IIS以及支持脚本的情况下),也即只需要在IIS里将其发布即可. 2. 安装IIS 1. 安

在Windows Server 2008 R2中使用web方式修改域用户账户密码

在Windows的domain环境下,加域的客户端修改账户密码是一件很easy的事情:即使没有加域的客户端如果组织中,使用Exchange邮件系统,借助Exchange的owa也可以轻松修改账户密码. 前段时间搞Web+Portal 认证时,由于存在少量的LDAP用户,该Web+Portal认证不支持AD+LDAP双认证.为了让这部分用户也能够实现认证,采用了域名+用户名(避免和域用户重名)的方式导进了AD中,并设置了初始密码.可是问题也出现了,这部分用户不加域也没有Exchange邮箱,如何才

exchange控制台没有重置用户密码选项解决办法

为客户安装好Exchange2016之后发现ecp管理页面里用户管理界面里没有重置邮箱密码的选项.管理员角色里也找不到"Reset Password"正常情况下,应该是安装好exchange就可以在管理员角色里为角色添加分配ResetPassword权限,administrator用户不需要任何设置就可以重置其他用户密码 故障现象,使用administrator登录也没有重置密码选项 正常情况,打开用户属性后会出现重置邮箱密码的选项 这个客户经常性的玄学异常,已经懒得查找原因了,直接搜

hadoop源码解读namenode高可靠:HA;web方式查看namenode下信息;dfs/data决定datanode存储位置

点击browserFilesystem,和命令查看结果一样 当我们查看hadoop源码时,我们看到hdfs下的hdfs-default.xml文件信息 我们查找${hadoop.tmp.dir}这是引用变量,肯定在其他文件有定义,在core-default.xml中查看到,这两个配置文件有个共同点: 就是不要修改此文件,但可以复制信息到core-site.xml和hdfs-site.xml中修改 usr/local/hadoop 是我存放hadoop文件夹的地方 几个关于namenode的重要文

centos6.5环境下的web项目mysql编码方式导致的中文乱码问题

最近在centos6.5下部署web项目时网页出现中文乱码的问题,在排除掉php之后,把问题锁定在mysql的编码方式上. 解决方法如下: 首先进入mysql命令行,输入命令:SHOW VARIABLES LIKE 'character_set_%',会出现下面这些信息 +--------------------------+----------------------------+| Variable_name            | Value                      |

用户通过WEB方式更改AD域帐户密码

用户改自己的域帐户密码一般通过以下几种方式: 加域的PC,用户直接按:Ctrl+Alt+Del键,点击:更改密码 通过exchange owa更改密码 让管理员重置密码 除了以上方式外,很多企业通过开发使用终端用户通过网页登录指定的地址来直接更改密码.今天我给大家分享是也是这种方式,但这个是完全免费的,而且搭建也是比较容易的. 以下是搭建的过程: 搭建所需条件: 加域的服务器,可以是win server 2008 R2或者Win server 2012 R2 安装IIS组件 以下是操作流程: 增

批量修改主机密码并发送到邮箱

1. 前言 需求:一批云主机,要求每周修改一次密码. 2. 实践 使用 ansible + sendmail 即可实现. 主机信息: (1)安装 sendmail wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz tar zxf sendEmail-v1.56.tar.gz -C /usr/src/ cd /usr/src/sendEmail-v1.56/ cp -a sendEmail

Windows Server 2008R2使用web方式修改域账户密码

1. 前言 Windows2003IIS中自带修改域用户密码的ASP网页文件iisadmpwd模块,可以启用该模块通过Web方式修改密码,但是IIS7也即2008系统中不在自带iisadmpwd功能模块,所以需要移植2003的iisadmpwd模块到2008中使用: 2. Iisadmpwd文件准备 1. 首先找一台Server2003系统,确认已安装好Internet信息服务(IIs). 2. 然后进入Server2003系统C:\WINDOWS\system32\inetsrv\iisadm

Exchange 2010 (五) 批量新增邮箱

Exchange 2010 (五)批量新增邮箱 在企业中,经常会遇到批量新增邮箱的时候,少量的可以手动添加,量大的话手动就很耗时了,新增时一般会把"下一次登录更改密码"启用,这样密码是自己设置的增加安全性.下面就把批量新增邮箱的步骤写一下. 大致可分为以下几步 注册表启用"登录时更改密码"选项 编辑Excel文件为特定格式 控制台导入邮箱 注册表启用"登录时更改密码"选项 打开客户端访问服务器的注册表 定位到HKEY_LOCAL_MACHINE\