Как насчет использования LogParser, доступного от Microsoft ?
А вот пример кода с использованием COM-объекта:
$query = @"
SELECT
Path,
KeyName,
ValueName,
Value,
LastWriteTime
INTO $outfile
FROM \\remotecomputername\HKLM\etc\etc
WHERE LastWriteTime BETWEEN
TIMESTAMP('2011/08/01 00:00:00', 'yyyy/MM/dd hh:mm:ss') AND
TIMESTAMP('2011/09/06 00:00:00', 'yyyy/MM/dd hh:mm:ss')
ORDER BY LastWriteTime DESC
"@
$inputtype = New-Object -comObject MSUtil.LogQuery.RegistryInputFormat
$outputtype = New-Object -comObject MSUtil.LogQuery.CSVOutputFormat
$outfile = 'c:\temp\outfile.csv'
$logObject = new-object -com MSUtil.LogQuery
$result = $logObject.ExecuteBatch($query, $inputtype, $outputtype) | Out-Null
В предложении FROM можно указать несколько значений через запятую, чтобы при необходимости запросить более одного компьютера. Дальнейшее чтение здесь .