0

使用 Powershell,我需要从 Lotus Notes names.nsf 通讯簿中检索 Internet 电子邮件地址。

在 Notes 中,我可以看到要检索的 Internet 电子邮件地址。它位于“邮件”部分下的“基本”选项卡上,位于名为“Internet 地址”的字段中。但是,我无法找到它所在的视图,也找不到查询或派生它的方法。在 Lotus Notes 的“工作/家庭”选项卡上过滤我希望公司找到的电子邮件地址也会很有帮助。

在 IE 中打开其中一个 names.nsf 文件,我看到了一些我想要的字段,但其中没有格式化的 Internet 电子邮件地址。我所看到的只是 Lotus notes 样式的电子邮件地址:

名字姓氏/我的公司/abc @ abc

(其中的列名为$16)。

有没有办法从 Lotus Notes names.nsf 地址簿中提取完整的 Internet 电子邮件地址?如果是这样,怎么做?如果它们在某些可用的“隐藏”视图中,您如何查询这些隐藏视图中的值?

谢谢!

4

2 回答 2

2

在许多情况下,用于查找个人文档的最佳视图是名为“$Users”的隐藏视图。它由您能想到的几乎所有名称变体索引,因此查找往往会起作用。您可以通过从视图中打开 Person 文档并读取名为“InternetAddress”的 NotesItem 来找到它,或者您可以直接从标有“InternetAddress”的视图列中读取它,我相信它是第 17 列。

于 2013-03-05T05:06:54.967 回答
0

您可以使用 powershell 从 NAB 访问给定用户的所有属性。如果您的 Notes 客户端是 32 位,则必须运行 32 位版本的 PS。系统将提示您输入 Notes 标识密码。

  $notes=new-object -comobject Lotus.NotesSession;
  $notes.Initialize("");
  $ndb = $notes.getdatabase("admin","names.nsf");
  $nview = $ndb.getview('($Users)');
  $searchkey = "Schmoe"; #whatever
  $doc =$nview.getdocumentbykey($searchkey,$true);
  $mailaddress = $doc.getitemvalue('mailaddress')[0];
  $internetaddress = $doc.getitemvalue('internetaddress')[0];
于 2013-03-14T21:35:04.020 回答