Вывод LogParser и Powershell

Я использую приведенную ниже функцию PowerShell для анализа журналов событий, которые были сохранены локально с удаленного компьютера. К сожалению, я не могу в жизни понять, как выгружать в другой формат, а не просто в окно консоли.

Когда я вставляю оператор INTO в свой SQL-запрос, я получаю следующую ошибку:

Исключение, вызывающее «Execute» с «2» аргументами: «Невозможно указать INTO-сущность при вызове Execute() [параметр неверен.]»

Любая помощь приветствуется.

    Function Parse-Event-Logs
{

$logtypes = "Application","System","Security"
foreach ($logtype in $logtypes)
{
$log_file = $LogsArchive + "\" + $folder + "\" + $logtype + ".evt"
$log_parser = new-object -comobject MSUtil.LogQuery
$log_type = new-object -comobject MSUtil.LogQuery.EventLogInputFormat
$log_type.resolvesids = $true
$log_type.fulltext = $true
$output_type = new-object -comobject MSUtil.LogQuery.NativeOutputFormat
$log_query = "SELECT * FROM $log_file  WHERE EventTypeName = 'Error event' OR EventTypeName = 'Warning event'"

$log_recs = $log_parser.execute($log_query,$log_type)
try{
do{
$lp_return = @{}
$log_entry = $log_recs.getrecord()

$lp_return.add("Index",$log_entry.getvalue("RecordNumber"))
$lp_return.add("EntryType",$log_entry.getvalue("EventTypeName"))
$lp_return.add("EventID",$log_entry.getvalue("EventID"))
$lp_return.add("Message",$log_entry.getvalue("Message"))
$lp_return.add("Category",$log_entry.getvalue("EventCategoryName"))
$lp_return.add("CategoryNumber",$log_entry.getvalue("EventCategory"))
$lp_return.add("ReplacementStrings",$log_entry.getvalue("Strings"))
$lp_return.add("Source",$log_entry.getvalue("SourceName"))
$lp_return.add("TimeGenerated",$log_entry.getvalue("TimeGenerated"))
$lp_return.add("TimeWritten",$log_entry.getvalue("TimeWritten"))
$lp_return.add("UserName",$log_entry.getvalue("SID"))
$lp_return | new-hashobject

$log_recs.movenext()
} while ($log_recs.atend() -eq $false)
}

Catch {Write-Host "Event log is empty"}
}
}

person Christopher    schedule 23.06.2010    source источник
comment
Вам больше повезло с ExecuteBatch?   -  person Keith Hill    schedule 23.06.2010
comment
Кстати, вы видели это: muegge.com/blog/?p=65   -  person Keith Hill    schedule 23.06.2010
comment
Спасибо Кит, ExecuteBatch сделал это.   -  person Christopher    schedule 23.06.2010


Ответы (1)


Хорошо, преобразуем комментарий в ответ. :-)

Используйте метод ExecuteBatch вместо метода Execute. ExecuteBatch позволяет передавать типы ввода и вывода.

person Keith Hill    schedule 23.06.2010