我使用powershell查看使用Get-WinEvent
的事件日志。由于某种原因,事件的ReplacementStrings
属性不会出现在我身上。我对此感到非常困惑,因为它似乎会出现在互联网上的其他人身上。它将使用Get-EventLog
而不是Get-WinEvent
显示。有什么我必须启用的吗?
我不认为Get-WinEvent
返回ReplacementStrings属性。取而代之的是,替换字符串在另一个不幸称为"的数组属性中返回;属性";
演示:
$MyEvent = Get-WinEvent -LogName application | Select-Object -First 1
$MyEvent.Properties
过滤方式也不重要。我通常做的是取回我感兴趣的事件的样本,然后检查属性集合。如果要展平对象,可以使用Select-Object
添加计算出的属性,这些属性具有属性集合中感兴趣元素的值。
$MyEvent =
Get-WinEvent -LogName application |
Select-Object *, @{Name = 'Property1'; Expression = { $_.Properties[0] }}
您显然需要添加筛选,否则[0]
元素对于每个事件都会有所不同。尽管如此,上面将向名为Property1的对象添加一个属性,该值将来自properties集合中的第一个元素。