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上

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

代码内容:

Sub Click(Source As Button)
	Dim ws As New NotesUIWorkspace
	Dim curdoc As NotesDocument
	Set curdoc = ws.CurrentDocument.Document
	Dim se As New NotesSession
	Dim namesDB As NotesDatabase
	Set namesDB = se.GetDatabase(se.CurrentDatabase.Server,"names.nsf")
	Dim dcResult As NotesDocumentCollection
	Dim doc As NotesDocument
	Dim formula As String
	Dim mailFiledName As String
	Dim mailDB As NotesDatabase
	Dim v As Variant
	'v=域名称
	v = curdoc.DelMailUsers_Domain
	Forall s In v
		formula = "Type='Person' & LastName ='" + Cstr(Trim(s)) + "'"
		Set dcResult = namesDB.Search(formula,Nothing,0)
		Msgbox "获取到的用户是:"+ Cstr(Trim(s))
		Msgbox  dcResult.Count
		If dcResult.Count = 0 Then
			Msgbox  Cstr(Trim(s))+"的个人文档不存在" 
		Else
			
			Set doc = dcResult.GetFirstDocument
			
			mailFiledName = doc.MailFile(0)
			Msgbox doc.MailFile(0)
			mailFiledName = mailFiledName + ".nsf"
			
		'取个人的邮件数据库
			Set mailDB = se.GetDatabase(se.CurrentDatabase.Server,mailFiledName)
			If Not mailDB.IsOpen Then
			'邮件库不存在
				Msgbox doc.LastName(0) + "的邮件库不存在。"
			Else
			'删除邮件库
				Call mailDB.Remove()
				Msgbox doc.LastName(0) + "的邮件数据库已被删除。"
			End If
			Call dcResult.RemoveAll(True)
			Msgbox  Cstr(Trim(s)) + "的个人文档已被删除。"
		End If
		
	End Forall
	Msgbox "操作完成。"
End Sub

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

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

然后在创建域

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

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

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

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

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

单击保存

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

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

F1为创建的表单

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

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

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

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

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

然后右击帧结构属性

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

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

Domino 下批量删除邮箱用户个人配置文档及数据库文件然后单击保存

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

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

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

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

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

选择帧结构集:mm

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

单击保存

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

该实验已完成,谢谢



本文转自 高文龙 51CTO博客,原文链接:http://blog.51cto.com/gaowenlong/1165269,如需转载请自行联系原作者

上一篇:考试倒计时


下一篇:RMAN 配置归档日志删除策略