使用Powershell,我需要从Lotus Notes names.nsf地址簿中检索Internet电子邮件地址。
在Notes中,我可以看到我想要检索的互联网电子邮件地址。它位于“基本”选项卡上的“邮件”部分的“Internet地址”字段中。但是,我无法找到它所处的视图,或查询它或派生它的方法。在Lotus Notes的“工作/主页”选项卡上过滤公司希望查找的电子邮件地址也很有帮助。
在IE中打开其中一个names.nsf文件,我看到了许多我想要的字段,但格式化的互联网电子邮件地址不在那里。我所看到的只是Lotus笔记的电子邮件地址:
名字姓氏/ mycompany / abc @ abc
(其中的列名称为 $ 16 )。
有没有办法从Lotus Notes names.nsf地址簿中提取完整的互联网电子邮件地址?如果是这样,怎么样?如果它们处于某些可用的“隐藏”视图中,您如何查询这些隐藏视图中的值?
谢谢!
答案 0 :(得分:2)
在许多情况下,用于查找Person文档的最佳视图是名为“$ Users”的隐藏视图。它几乎被您能想到的名称的每个变体编入索引,因此查找只是起作用。您可以通过从视图中打开Person文档并读取名为“InternetAddress”的NotesItem来查找它,或者您可以直接从标有“InternetAddress”的视图列中读取它,我相信这是第17列。
答案 1 :(得分:0)
您可以使用powershell从NAB访问给定用户的所有属性。如果Notes客户端是32位,则必须运行32位版本的PS。系统将提示您输入Notes ID密码。
$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];