Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法使用powershell从lotus notes数据库中获取30分钟的文档?_Powershell_Lotus Notes - Fatal编程技术网

有没有办法使用powershell从lotus notes数据库中获取30分钟的文档?

有没有办法使用powershell从lotus notes数据库中获取30分钟的文档?,powershell,lotus-notes,Powershell,Lotus Notes,我正在进行一个集成,在这个集成中,我必须每隔2分钟提取lotus电子邮件文档。我已经创建了一个PowerShell脚本来连接到本地notes客户端。我成功阅读了最新文档,但我无法设置时间过滤器从notes数据库获取最后5分钟的电子邮件。我还尝试获取lotusnotesid尚未读取的文档,该ID用于连接lotusnotes数据库 这是一个新的集成,用于检索过去5分钟的文档或Powershell脚本中使用的当前lotus notes ID未读取的文档。我只能得到最新的文档,但当我应用时间过滤器时,它

我正在进行一个集成,在这个集成中,我必须每隔2分钟提取lotus电子邮件文档。我已经创建了一个PowerShell脚本来连接到本地notes客户端。我成功阅读了最新文档,但我无法设置时间过滤器从notes数据库获取最后5分钟的电子邮件。我还尝试获取lotusnotesid尚未读取的文档,该ID用于连接lotusnotes数据库

这是一个新的集成,用于检索过去5分钟的文档或Powershell脚本中使用的当前lotus notes ID未读取的文档。我只能得到最新的文档,但当我应用时间过滤器时,它给我的值与我在LotusNotes内部检查时的实际值不匹配

$DomSession = New-Object -ComObject Lotus.NotesSession
$DomSession.Initialize()
$DomDatabase = $DomSession.GetDatabase("DominoServer","email.nsf")
Write-Host "Database open : " $DomDatabase.Title
$DomView = $DomDatabase.GetView('All By Category')
Write-Host "View read : " $DomView.Name
$DomNumOfDocs = $DomView.AllEntries.Count
Write-Host "Num of Docs : " $DomNumOfDocs
$DomDoc = $DomView.GetFirstDocument()
$DomDoc.ColumnValues #This gives the latest email document
Do {
    $checks = $DomDoc.Items
    foreach ($check in $checks) {
        if ($check.Name -eq 'Subject') {
            [pscustomobject]@{
            subject = $check.Text
            creationtime = $check.LastModified
            }
        }
    }
    $DomDoc = $DomView.GetNextDocument($DomDoc)
   }
while ($DomDoc.LastModified -gt ((get-date).AddMinutes(-5)))

我希望获得过去5分钟左右创建的电子邮件文档,但我获得notes数据库中的所有文档。

找到了一种使用notes命令从Lotus notes数据库获取电子邮件的方法。下面的脚本将收到过去15分钟内收到的电子邮件

$DomSession = New-Object -ComObject Lotus.NotesSession
$DomSession.Initialize()
$DomDatabase = $DomSession.GetDatabase("DominoSERVER", "MAIL.nsf")
Write-Host "Database open : " $DomDatabase.Title
$DomView = $DomDatabase.GetView('All By Category')
Write-Host "View read : " $DomView.Name
$DomNumOfDocs = $DomView.AllEntries.Count
Write-Host "Num of Docs : " $DomNumOfDocs
$DomDoc = $DomView.GetFirstDocument()
#$DomDoc.ColumnValues
Do {
       $checks = $DomDoc.Items
        foreach ($check in $checks) {
            if ($check.Name -eq 'Subject') {
                [pscustomobject]@{
                subject = $check.Text
                creationtime = $check.LastModified
                }
            }
        }
        $DomDoc = $DomView.GetNextDocument($DomDoc)
   }
while ($check.LastModified -gt ((get-date).AddMinutes(-15)))
现在,我必须确保脚本每15分钟运行一次,以获得过去15分钟内收到的所有电子邮件。我仍然希望标记上述脚本已经选择的电子邮件,如果我可以破解,我也将共享解决方案,或者如果有人已经这样做,请确实共享或改进脚本


大家好

我对LotusComObject没有任何线索,但我会尝试
$searchDate=(Get Date).AddMinutes(-5)
我尝试过,但没有成功。我对代码做了修改,以获得最后5分钟的文档列表,但它给了我30分钟的数据。我无法理解LotusNotesCOM对象是如何处理时间值的。已修改的代码添加到问题中。是否必须使用PowerShell?我希望您知道Notes是可编程的,并且您可以在其中为许多不同的目的开发代理。您可能还可以使用其他标准功能,例如邮件日志记录。您的项目是什么,您希望集成什么?您使用的是什么版本的Lotus Notes邮箱模板?我认为在过去的15年里,“按类别分类”的观点在任何版本中都没有被使用过。如果我没记错的话,如果你用这个观点,你会发现实际上不是电子邮件的东西。