Domino 下批量删除邮箱用户个人配置文档及数据库文件

Domino 下批量删除邮箱用户个人配置文档及数据库文件

近期一直在看Domino相关的文章,加上公司也用的是Domino系统,然后加上公司的用户数据量比较庞大,而且人员流动比较大,每日入职删除的人员比较多,这样给管理员的工作添加了很大的负担,那有什么好的办法能批量进行操作么。答案是有,那就创建一个domino库来实现,具体操作见下;

环境介绍:

我环境内放了两台Domino server,分别为:

Domain-mail01.gawian.com

Daomin-mail02.gawain.com

而且在每个服务器上创建了不同用户来进行实验,具体见下;

Lisi、lili创建在Domino-mail01.gawain.com上

Bob、bod创建在Domino-mail02.gawain.com上

clip_image002

接下来就开始了。首先是要安装Notes的一个插件,Domino desiguer;

安装完成后打开该插件----单击文件---应用程序—新建

clip_image004

服务器选择第一台----标题:delUser(delUser.nsf)然后确认

clip_image006

然后会自动打开该数据库,见下图

clip_image008

选定该数据库后---新建表单

clip_image010

为该表单设置一个名称:F1,然后打击确认

clip_image012

单击该表单后—右击—创建操作

clip_image014

为该操作创建一个名称:del names person,然后单击关闭

clip_image016

然后自动打开该操作;选择操作类型:lotusscript

clip_image018

然后在操作中填写执行代码:

clip_image020

clip_image022

代码内容:

Sub Click(Source As Button)

Dim se As New NotesSession

Dim db As NotesDatabase

Set db = se.GetDatabase(se.CurrentDatabase.Server,"names.nsf")

'db对象是 names库

Dim dc As NotesDocumentCollection

Set dc = db.UnprocessedDocuments

'dc是选择的个人文档集合

Dim doc As NotesDocument

Set doc = dc.GetFirstDocument()

If doc Is Nothing Then

Msgbox "没有选择个人文档。"

Exit Sub

End If

Dim mailFiledName As String

Dim mailDB As NotesDatabase

While Not doc Is Nothing

'这个变量是个人文档里的邮件库的路径

mailFiledName = doc.MailFile(0)

mailFiledName = mailFiledName + ".nsf"

'取个人的邮件数据库

Set mailDB = se.GetDatabase(se.CurrentDatabase.Server,mailFiledName)

If Not mailDB.IsOpen Then

'邮件库没了

Msgbox doc.FullName(0) + "的邮件库不存在。"

Else

'删除邮件库

Call mailDB.Remove()

Msgbox doc.FullName(0) + "的邮件库已被删除。"

End If

'Msgbox doc.FullName(0) + "的个人文档已被删除。"

Set doc = dc.GetNextDocument(doc)

Wend

Call dc.RemoveAll(True)

Dim ws As New NotesUIWorkspace

Call ws.ViewRefresh()

Msgbox "个人文档已全部删除"

End Sub

将代码复制进去后,单击保存

clip_image024

然后在创建域

clip_image026

为该域创建一个名称:ff,勾选允许多值;样式选择—自身的os样式

clip_image028

然后选择多值选项:勾选逗号、分好、换行

clip_image030

单击保存

clip_image032

clip_image034

F1为创建的表单

clip_image036

然后单击“帧结构集,然后单击创建:帧结构集

clip_image038

选择第一个,帧结构数为2,单击确认

clip_image040

然后右击帧结构属性

clip_image042

为该帧结构选择表单:为之前创建的名称为F1的表单

clip_image044然后单击保存

clip_image046

提示输入帧结构集的名称:mm

clip_image048

然后右击数据库---应用程序---属性

clip_image050

选择帧结构集:mm

clip_image052

单击保存

clip_image054

保存后会在相应的目录生成一delUser.nsf数据库,然后将该数据库拷贝到服务器上,通过names.nsf数据库打开或者双击打开即可;

clip_image056

然后提示输入要输入的用户名

clip_image058

我们目录下有4个用户,我们都需要将其删除

clip_image060

clip_image062

输入后单击删除name里的个人文档和邮箱

提示说用户的数据库已经被删除

clip_image064

接着提示用户的个人文档已被删除

clip_image066

所指定的用户个人文档及数据库删除完成后提示删除完成

clip_image068

clip_image070

查看mail文件夹下的数据库是否存在;已经删除了指定人的数据库

clip_image072

该实验已完成,谢谢

你可能感兴趣的:(domino)