Windows Index Search SQL Group On

时间:2019-02-27 15:49:21

标签: powershell windows-search

我正在尝试查询Windows索引以在PowerShell脚本中使用Windows Search SQL检索电子邮件。

对于基本查询(“选择”,“从”,“位置”),可以,我没有问题,但是我想将结果与GROUP ON分组,这在处理结果时会遇到更多问题。

我有以下PowerShell脚本:

$dbConnection = New-Object -ComObject ADODB.Connection
$dbConnection.Open("Provider=Search.CollatorDSO;Extended Properties='Application=Windows';")

$localMailsRS = New-Object -ComObject ADODB.Recordset

$localMailsRS.Open("
GROUP ON System.ItemFolderPathDisplay
      OVER (GROUP ON System.Message.FromAddress
                  OVER (SELECT System.ItemName FROM SYSTEMINDEX))"
, $dbConnection)

While(-Not $localMailsRS.EOF) {
    echo "=================================================="
    $localMailsRS.Fields.Item('System.ItemFolderPathDisplay').value
    echo "=================================================="

    $localMailsRS.MoveNext()
}

$localMailsRS.Close();

(这是示例的简化脚本)

对于基本的SQL查询,$localMailsRS.Fields.Item('System.MYELEMENT').value足以显示结果,但是在GROUP ON的情况下,只有$localMailsRS.Fields.Item('System.ItemFolderPathDisplay').value可用,我找不到如何访问剩余结果的方法。

感谢您的帮助!

0 个答案:

没有答案