1

我有具体问题。我需要从活动目录中提取域名并将它们与 Lotus Notes 中的员工编号结合起来。我使用 Get-QADUser(来自 quest.com 的快照)获取域名,这没问题,但是如何获取员工编号并将它们组合起来?谢谢

编辑(18.5. 11:56):现在我正在使用这个脚本(由 Christian 发布)并且我想出了如何获取 LN 数据库的名称 - 右键单击​​ Lotus notes 工作区中的 DB,然后单击应用程序/属性。

# Create LN Object
$DomSession = New-Object -ComObject Lotus.NotesSession

# Initialize LN Object
# You'll be asking for LN password to your id
$DomSession.Initialize()

# Connect to Server, select db and display the name
$DomDatabase = $DomSession.GetDatabase("LN007","IT\HW.nsf")
Write-Host "Database open : " $DomDatabase.Title

# Open specific View (By Serial Number)
$DomView = $DomDatabase.GetView('Serial Number')
Write-Host "View read : " $DomView.Name

# Show number of documents
$DomNumOfDocs = $DomView.AllEntries.Count
Write-Host "Num of Docs : " $DomNumOfDocs

# Get First Document in the View
$DomDoc = $DomView.GetFirstDocument()
4

3 回答 3

2

如果您有权访问数据库和 Notes 客户端,则可以在 Notes Designer 中打开数据库并查看可用的视图。然后,您应该能够找到或创建一个包含您需要的数据的数据。

如果您无权访问 Lotus Notes,那么您已经足够接近您的 powershell 脚本,您可以使用 com API 来获取信息。NotesDatabase 对象(即$DomDatabase)有一个Views 属性,它将返回NotesView 对象。您可以遍历这些并打印出名称作为开始。同样,一旦您找到了您想要的视图,您就可以使用 NotesView 的 Columns 属性访问该视图中的列。

您需要在此处查看 COM api 文档以获得更多帮助: http ://blagoevgrad.court-bg.org/help/help85_designer.nsf/Main?OpenFrameSet (参见 LotusScript/COM/OLE 类部分)

根据您对 Powershell 与 com api 的舒适程度,您可能可以通过几种方式来处理这个问题,或者通过提取视图中的所有文档并获取数据,或者使用内置的 NotesView.GetDocumentByKey 方法来执行作为脚本中的查找。使用按您查询的键排序的视图(并设置为视图的第一列),您可以调用该方法并使用该键取回文档。然后使用该 NotesDocument 对象检索其中的任何值(即员工姓名或编号或其他)

于 2012-05-18T12:59:05.213 回答
1

您可以使用com object.

推荐链接:

http://davidmoravec.blogspot.it/2008/08/retrieve-data-from-lotus-notes-with.html

Lotus Notes 对象

于 2012-05-18T07:57:25.797 回答
1

您打开的数据库是否被称为“names.nsf”?如果是这样,那就是标准的 Domino 目录数据库,您应该使用“人员”视图,并且您要查找的项目名称应该是“员工 ID”——除非客户使用他们自己的字段名称自定义了数据库。

如果它是您正在使用的自定义数据库,那么除了使用 Notes 客户端和 Domino Designer 之外,还需要为自己获取一份 NotesPeek。免费。 在这里下载

它为您提供数据库的树形视图。它向您显示存储在数据库中的所有内容——但它仅显示存储的内容,因此您可以在 Notes 客户端中看到但无法通过 Notes 类访问的计算字段不会让您感到困惑。(Notes 客户端中的文档属性对话框也不会显示计算值,如果您在视图中选择了文档时使用它,但如果您在实际打开文档时使用它,它将显示给您。)

于 2012-05-18T14:25:40.193 回答