Я пытаюсь запросить индекс 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
, и я не могу найти, какдоступ к остальным результатам.
Спасибо за помощь!