使用PowerShell get-eventlog查询多个日志时,在表中显示LogName

时间:2013-01-17 22:35:33

标签: powershell

我是PowerShell的新手,我正在尝试获取一组日志的最新事件(现在用于测试目的的应用程序和系统)。
缺少的是最终输出中的一列,显示事件来自的日志 我尝试在format-table之前输出输出以获取成员以查看是否存在包含logname的属性,并且似乎没有。 有没有解决方法来获得这个?

我现在拥有的是:

"application", "system" | foreach { Get-EventLog -LogName $_ -Newest 10 } | sort time -Descending | ft timegenerated, LogName, source, message -wrap -AutoSize

这就是我想要的,但LogName列是空白的,因为没有这样的属性。

1 个答案:

答案 0 :(得分:1)

有人可以稍微清理一下,但你可以试试这个:

"application", "system" | foreach { $events = Get-EventLog -LogName $_ -Newest 10; $events | Add-Member -MemberType NoteProperty -Name LogName -Value (Get-Culture).TextInfo.ToTitleCase($_); $events } | sort timegenerated -Descending | ft timegenerated, LogName, source, message -wrap -AutoSize

我修复了sort命令(拼写错误)并将logname格式化为正确的(大写的第一个字母)以清理它。