Get-WinEvent的事件中未显示替换字符串



我使用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集合中的第一个元素。

最新更新