2013-01-17 31 views
1

我是PowerShell的新手,我正在嘗試爲一組日誌(現在的應用程序和系統進行測試)獲取最近的事件。
缺少的是最終輸出中顯示事件來自的日誌的列。
我試着在格式表之前對輸出進行管道輸出,以便讓成員查看是否有包含日誌名稱的屬性,但似乎沒有。
是否有解決方法來獲取此?當使用PowerShell查詢多個日誌時,在表中顯示LogName在表中查找多個日誌get-eventlog

我有現在的問題是:

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

這就是我想要的,但LOGNAME欄是空白的,因爲沒有這樣的屬性。

回答

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爲正確的(第一個字母大寫)進行清潔向上。

+0

非常好!它看起來像我會咀嚼Powershell一段時間... –

+0

這是所有關於嘗試和失敗:-)另外,PS 3.0是你的練習的朋友。它支持更多的自動完成(製表符完整)。祝你好運 –