近期一直在看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上
接下来就开始了。首先是要安装Notes的一个插件,Domino desiguer;
安装完成后打开该插件----单击文件---应用程序—新建
服务器选择第一台----标题:delUser(delUser.nsf)然后确认
然后会自动打开该数据库,见下图
选定该数据库后---新建表单
为该表单设置一个名称:F1,然后打击确认
单击该表单后—右击—创建操作
为该操作创建一个名称:del names person,然后单击关闭
然后自动打开该操作;选择操作类型:lotusscript
然后在操作中填写执行代码:
代码内容:
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
将代码复制进去后,单击保存
然后在创建域
为该域创建一个名称:ff,勾选允许多值;样式选择—自身的os样式
然后选择多值选项:勾选逗号、分好、换行
单击保存
F1为创建的表单
然后单击“帧结构集,然后单击创建:帧结构集
选择第一个,帧结构数为2,单击确认
然后右击帧结构属性
为该帧结构选择表单:为之前创建的名称为F1的表单
提示输入帧结构集的名称:mm
然后右击数据库---应用程序---属性
选择帧结构集:mm
单击保存
保存后会在相应的目录生成一delUser.nsf数据库,然后将该数据库拷贝到服务器上,通过names.nsf数据库打开或者双击打开即可;
然后提示输入要输入的用户名
我们目录下有4个用户,我们都需要将其删除
输入后单击删除name里的个人文档和邮箱
提示说用户的数据库已经被删除
接着提示用户的个人文档已被删除
所指定的用户个人文档及数据库删除完成后提示删除完成
查看mail文件夹下的数据库是否存在;已经删除了指定人的数据库
该实验已完成,谢谢
本文转自 高文龙 51CTO博客,原文链接:http://blog.51cto.com/gaowenlong/1165269,如需转载请自行联系原作者