尝试编写脚本以检索针对特定问题触发的事件的所有详细信息。
在事件查看器中看到的事件没有事件ID等有助于过滤结果。
我可以使用的唯一数据包含在EventData部分中,其中包含“Married”
Get-WinEvent @{LogName='Application';Level=2} | Where {$_.ProviderName -eq 'BizTalk Server' -and $_.Message -contains 'Marri'}
我不确定$_.Message
是否正在查看EventData部分..是否有任何建议?
答案 0 :(得分:0)
因此,这不是一个完全可行的解决方案,但它应该为您提供数据输出,为您提供有关使用内容的见解。 我完全不能完全为你做这件事,因为我没有要测试的数据。
$events = Get-WinEvent -FilterHashTable @{LogName = "Application";Level=2} -MaxEvents 50 | where {$_.Message -like '*'}
foreach($event in $events){
"-"*150
$eventXML = [xml]$event.ToXml()
#if there is data in the XML
if($eventXML.Event.EventData.data -like '*Marri*'){
$event.Message
$event | gm
write-host $event
write-host $eventXML.Event.EventData.data -ForegroundColor Green
}
"-"*150
}
答案 1 :(得分:0)
我真的不明白您对计算/日期时间部分的意思。 你可以显示时间和提供者:
$events = Get-WinEvent -FilterHashTable @{LogName = "Application";Level=2} -MaxEvents 50 |
where {$_.Message -like '*'}
foreach($event in $events){
"-"*50
$event.TimeCreated
$event.ProviderName
$event.Message
"-"*50
}
foreach($event in $events){
"-"*50
$event.TimeCreated
$event.ProviderName
$event.Message
"-"*50
}
答案 2 :(得分:0)
我不知道“已婚”事件数据在哪里,但是在Powershell 6中,您可以执行类似的操作,并在名为data字段的事件数据上使用-filterhashtable。提供商名称也可以在哈希表中。
Get-WinEvent @{LogName='Application'; Level=2;
providername='biztalk server'; status='married'}
一个对我有用的例子:
get-winevent @{ logname = 'application'; param2 = 'suppressduplicateduration' }