我有一个 Lotus Domino 服务器,上面有数量惊人的 Domino 数据库,排列在不同的文件夹中。
有没有办法以某种电子表格格式导出所有这些数据库的列表,以及它们的标题和创建者的姓名?我拥有 Domino Admin 和 Domino Designer 软件,并且拥有或可以获得所需的任何访问权限。
我有一个 Lotus Domino 服务器,上面有数量惊人的 Domino 数据库,排列在不同的文件夹中。
有没有办法以某种电子表格格式导出所有这些数据库的列表,以及它们的标题和创建者的姓名?我拥有 Domino Admin 和 Domino Designer 软件,并且拥有或可以获得所需的任何访问权限。
实际上,您可以使用一个非常简单的 Lotuscript 代理连接到服务器并使用 NotesDbDirectory 类遍历服务器上的所有数据库。这是一些代码,根据 6.5 帮助文件中的内容稍作修改 - 这会将所有数据库的标题和路径转储到 csv 文件。注意:GetFirstDatabase 方法的一个参数让您指定要扫描服务器上的哪些对象 - 1247 是“数据库”的常量 - 基本上,所有 NSF 文件。还有其他常量仅用于查找模板(NTF),仅用于启用复制的数据库等。
Sub Initialize
Dim db As NotesDatabase
Dim f As Integer
f = Freefile
Open "c:\dbExport.csv" For Output As #f
Dim dbdir As New NotesDbDirectory("") ' opens LOCAL - put a server name here
Set db = dbdir.GetFirstDatabase(1247) ' all databases - NSF, NSG and NSH (no templates)
While Not(db Is Nothing)
Print #f, """" + db.Title + """, """ + db.FileName + """"
Set db = dbdir.GetNextDatabase
Wend
Close #f
End Sub
您可能认为 Domino Admin 中有一种方法,但无法导出列表。所以,我认为你最好的选择是使用域目录数据库。要构建它,请进入服务器配置文档 > 服务器任务 > 并打开域目录。然后catalog.nsf 数据库将被构建并且将包含您域中的所有数据库。您可以自定义视图以包含您需要的信息。
最后,您可以进入一个视图,选择所有文档并单击编辑 > 将所选内容复制为表格。然后将其粘贴到电子表格中。
一个鲜为人知的事实是,您可以在 Admin 客户端中“全选”并粘贴到 Excel 中。还有一个用于数据库平面视图而不是文件夹视图的选项。
没有列出数据库的创建者,但还有很多其他有用的信息
继承了一些遗留服务器,不是吗?
如果过去对服务器进行了明智的维护,那么您已经拥有以下内容:
catalog
服务器任务启动并运行。目录任务是自动构建和维护 catalog.nsf 数据库的任务。如果它尚未运行,您可以在 Domino admin 的服务器控制台上启动它一次:
load catalog
甚至更好的是,将其添加到服务器的 notes.ini 中的服务器任务中
现在,编目任务仅涵盖已设置属性(例如允许编目)的数据库。一个行为良好的 Domino 管理员不会允许数据库在没有正确设置这些属性的情况下进入生产环境(我相信它无论如何都是默认设置),但您似乎并不完全处于正常情况。
如果这还不够,如果你有时间修补,我曾经遇到过类似的情况,我用一些相当先进的脚本建立了一个数据库来进行彻底的人口普查,包括代理人及其时间表等。如果你愿意,我很乐意把它传给你。
玩得开心你的新玩具!