我想获取所有与系统有关的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
答案 0 :(得分:0)
我认为代码有效:
$sysLog = Get-EventLog -LogName System -EntryType Error | Where-Object{$_.InstanceId -eq 10016}
$sysLog
带有导出到日志文件的编辑示例:
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"