Как я могу выбрать журнал событий по их InstanceID - PullRequest
0 голосов
/ 18 января 2019

Я хотел бы получить все записи EventLog, касающиеся системы и ошибки. И среди этих записей я хочу выбрать их по их конкретному InstanceID.

Я использую трубу, где я уменьшаю фильтр, но я не знаю, как сравнить InstanceID со значением желаемого InstanceID.

$sysLog = Get-EventLog -LogName System -EntryType Error |
          Where-Object{$_.InstanceId = 10016}
+ ... LogName System -EntryType Error | Where-Object{$_.InstanceId = 10016}
+                                                    ~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation : (:) [], RuntimeException
    + FullyQualifiedErrorId : PropertyAssignmentException

1 Ответ

0 голосов
/ 18 января 2019

я думаю, что код работает:

$sysLog = Get-EventLog -LogName System -EntryType Error |  Where-Object{$_.InstanceId -eq 10016}

$sysLog

см .: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_comparison_operators?view=powershell-6

РЕДАКТИРОВАТЬ пример с экспортом в файл журнала:

Function WriteEventLogFile ([string] $pathToWriteLog, [string] $InstanceId){
    $sysLogItems = Get-EventLog -LogName System -EntryType Error | Where-Object {$_.InstanceId -eq $InstanceId}

    # write-host $sysLogItems

    $sysLogItems | Export-Csv -Path  $pathToWriteLog -NoTypeInformation
}

WriteEventLogFile -pathToWriteLog:"C:\Temp\envent_export.log" -InstanceId:"10016"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...