Powershell: невозможно преобразовать System.Object [] в тип System.String.

Когда я запускаю следующий код, я получаю сообщение «не удается преобразовать 'System.Object []' в тип 'System.String'». Как передать список журнала событий обратно в get-eventlog?

$EventLogList = Get-EventLog | Select-Object -ExpandProperty log
Get-evenlog -log $eventloglist

Get-EventLog: невозможно преобразовать System.Object [] в тип System.String, требуемый параметром LogName.

Ваша помощь ценится


person resolver101    schedule 12.04.2012    source источник
comment
У вас опечатка во второй строке. Это должно быть eventlog вместо evenlog.   -  person Dmytro Shevchenko    schedule 12.04.2012
comment
И непонятно, в чем заключаются ваши намерения. Чего именно вы пытаетесь достичь?   -  person Dmytro Shevchenko    schedule 12.04.2012
comment
Ах да, извините. Я хочу получить все записи событий из всех традиционных журналов. например Приложение, события оборудования, Internet Explorer, служба управления ключами, безопасность, система и т. Д.   -  person resolver101    schedule 12.04.2012


Ответы (1)


LogName является обязательным параметром для Get-EventLog, и вы должны указать его, если только вы не пытаетесь создать список с помощью -list. Кроме того, он ожидает строку, а вторая строка выдает ошибку, потому что вы передаете массив.

Кроме того, также непонятно, что вы пытаетесь делать с заявлениями.

Я полагаю, вам нужно что-то вроде:

get-eventlog -list | %{ get-eventlog -log $_.log }
person manojlds    schedule 12.04.2012
comment
Спасибо. Массив вызывал у меня проблему. Я создаю цикл foreach для индивидуального просмотра каждого журнала. - person resolver101; 12.04.2012