Поиск по индексу Windows в группе SQL включен - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь запросить индекс Windows для получения электронных писем с помощью Windows Search SQL в сценарии PowerShell.

Для базового запроса (Выбрать, От, Где) все в порядке,У меня нет проблем, но я хочу сгруппировать свои результаты с 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, и я не могу найти, какдоступ к остальным результатам.

Спасибо за помощь!

...